Evan Czaplicki
6c1d2d7bf3
cosmetic: generalize collectLambdas
to make a list of types, move prettifying code to the Pretty instance
2014-01-14 12:48:54 +01:00
Evan Czaplicki
2a0a0e6e3c
Simplify SourceSyntax.Type AST, making record extension more restrictive as discussed with @maxsnew
2014-01-13 11:01:10 +01:00
Evan Czaplicki
270dbf8722
Add -Wall to a bunch of SourceSyntax files and get them warning free
2014-01-04 10:14:36 +01:00
Evan Czaplicki
7b20993869
Get rid of dependency on uniplate so AST does not need to derive Data or Typeable
...
This is motivated by wanting to add things to the AST that cannot
derive Data or Typeable
2013-12-20 16:41:06 -08:00
Michael Sondergaard
a0cbe84f1d
Throw an error when deserializing a bad type
...
This error should never be encountered, as long as we always update the get
function when the put function is, as required by get . put == id.
2013-11-04 20:32:53 +01:00
Evan Czaplicki
11294300fc
Prettier printing for list types
2013-08-21 19:44:57 -07:00
Evan Czaplicki
a7b0d3fa15
Make nested record types prettier.
2013-08-20 01:13:37 -07:00
Evan Czaplicki
576e979483
Simplify code to generate record constraints
2013-07-27 00:14:38 +02:00
Evan Czaplicki
760ad905cf
Add record constructors, begin using lists to represent fields in record types to maintain ordering from the source program
2013-07-26 18:20:57 +02:00
Evan Czaplicki
d9c1317a25
Add pretty printing for record types
2013-07-25 17:09:10 +02:00
Evan Czaplicki
eaa751d987
Make pretty printing for types prettier
2013-07-22 14:52:57 +02:00
Evan Czaplicki
22f7f8a43a
Create a serializable interface for a module's type information
...
Also add a flag to print out top-level types
2013-07-21 06:08:08 +02:00
Evan Czaplicki
c942afea6a
Nicer pretty printing and a special variable to "Save the Environment"
2013-07-19 17:45:16 +02:00
Evan Czaplicki
1d1083600f
Fix naming bug for List type
2013-07-17 19:24:56 +02:00
Evan Czaplicki
93a948cd67
Add back in checks for duplicate and out-of-order definitions.
2013-07-15 01:06:00 +02:00
Evan Czaplicki
0070a844d0
Switch the internal data constructor name for tuples. Before tuple
...
constructors could be shadowed by user defined ADT's such as "Tuple0",
"Tuple2", etc. Now it uses "_Tuple0" to make it impossible to overlap
with user defined ASTs.
2013-07-14 19:52:50 +02:00
Evan Czaplicki
e4ca96731d
Create a source syntax for types that will get converted into the internal type representation during type checking.
2013-07-07 18:13:40 +02:00