Commit graph

19 commits

Author SHA1 Message Date
Evan Czaplicki
078692ad8c Get Optimize.hs updated for the newer AST. 2013-07-07 12:55:08 +02:00
Evan Czaplicki
5c68f6bb73 Convert more files to the new Expression format that relies more on
patterns. Seems to clean things up so far.

Also, begin adding a module that resorts definitions to make sure
that each definition comes after the ones it depends on. This will
also make it possible to disallow recursive values statically.
2013-07-04 17:24:04 +02:00
Evan Czaplicki
74d3c35131 Fix optimization bug with > sign. 2013-07-02 16:58:19 +02:00
Evan Czaplicki
d700acfeac Fix substitutions for ExplicitList. 2013-07-01 20:00:37 +02:00
Evan Czaplicki
98eceb5496 Clean up Transform/Replace.hs. Switch the environment from a (String -> String) to a (Map String String). 2013-06-23 01:33:33 -07:00
evancz
9a40249e05 Fix the confusion with "Cons" and "Nil" in issue #176.
Also add the ExplicitList expression.
2013-06-20 21:25:10 -07:00
evancz
721ce4f192 Continue reorganizing the code-base.
Remove uses of uniplate, introduces a regression in testing the ordering of Defs in let-expressions.
2013-06-13 22:45:08 -07:00
evancz
339ad77c46 Begin getting the parser to match the new SourceSyntax modules. 2013-06-13 18:35:37 -07:00
evancz
73317ed123 Switch to using MultiIf for all if expressions. Simplifies AST. 2013-06-13 16:01:35 -07:00
evancz
28db384691 Fix parsing bug in as patterns that would fully commit if any spaces were seen.
Also add `as` variables to reported variables in patterns.
2013-06-06 23:16:46 -07:00
Andrew Miller
f8547cf4be Update 'at patterns' to use the as notation per mailing list discussion 2013-06-07 12:53:50 +12:00
Andrew Miller
3c71ee1c4d Support @ patterns as in Haskell 2013-06-06 21:27:20 +12:00
Andrew Miller
6a34482849 Add support for type annotations in let 2013-06-03 19:44:45 +12:00
evancz
6b28feaa2b Switch name of Context to Located. Whoo static types :) 2013-05-29 16:20:38 -07:00
evancz
b4bf8e9810 Get rid of ($)...
http://www.youtube.com/watch?v=a1Y73sPHKxw
2013-05-28 17:03:48 -07:00
evancz
ce51a0e39f Add type-class for lists in LetBoundVars.hs 2013-05-21 22:11:23 +02:00
evancz
4eb973a206 Update Optimize.hs to use some of the newer infix operators. 2013-05-21 22:09:08 +02:00
evancz
1d04b342d8 Permit pattern matching on records in case-expressions. 2013-04-07 06:46:46 -07:00
evancz
99ae5c6ba0 Finish moving the compiler down a directory. 2013-03-16 12:07:32 -07:00