Commit graph

30 commits

Author SHA1 Message Date
Evan Czaplicki
e80ea9e430 Add support for pattern matching on literals. 2013-06-23 01:36:23 -07:00
Evan Czaplicki
cd83c4c8ed Allow full expressions as the last member of binary expressions (t + t + e) 2013-06-23 01:31:34 -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
c7dce08193 Parameterized the AST for type annotations and variable types. Also rename Guid.hs to Unique.hs which reads a lot nicer. 2013-06-13 20:25:00 -07:00
evancz
459cf8ec73 Switch parsers over to new AST 2013-06-13 19:15:40 -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
0d96f82208 Add type constructor for extensible records. 2013-06-07 10:16:38 -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
evancz
ba5cd880d4 Merge branch 'master' of https://github.com/evancz/Elm 2013-06-06 22:30:07 -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
evancz
44fecefde6 Merge branch 'master' of https://github.com/evancz/Elm 2013-06-05 14:22:51 -07:00
evancz
f5bdb2ca7e Minor code changes to help allow custom infix precedence and associativity. 2013-06-05 14:22:11 -07: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
f49b8ba1d2 Correct the list of the acceptable JSTypes. 2013-05-23 12:45:31 +02:00
evancz
0f76e1643c Actually show error message for bad FFI imports and exports. 2013-05-22 16:08:05 +02:00
evancz
868e71e58b Add JSObject to the FFI parser. 2013-05-22 15:59:47 +02:00
evancz
1f1187cc74 Add open keyword to import everything. Default is now to just import the module, not to open it into local scope. 2013-05-21 10:02:59 +02:00
evancz
dab4b7c7b8 Switch from ($) to (|>) and (<|). 2013-04-24 22:26:01 -07:00
evancz
ac67dbd87f Take out the F# inspired composition operators. I think this needs to wait until type-classes / monads / arrows are more figured out. 2013-04-22 10:24:37 -07:00
evancz
29384b771a Add some operators from F#: |>, <|, <<, and >> 2013-04-21 13:59:12 -07:00
evancz
bef646a3f1 Cosmetic changes 2013-04-07 06:46:56 -07:00
evancz
87fa86c7e8 Get type dealiasing working. 2013-04-05 09:55:30 -07:00
evancz
82f888cb3d Get the type-checker running based on docs.json information. Also add rules for Nil and Tuple0, Tuple2, etc. 2013-04-04 01:09:35 -07:00
evancz
294fdfdaa5 Add prelude in compiler with flag. Re-add the hiding option for modules internally. 2013-04-03 00:32:21 -07:00
evancz
2ee23724f9 Fix nested pattern matching in let expressions. 2013-03-29 19:26:50 -07:00
evancz
96ef98417c Change such that import imports all by default. Too annoying the other way. Write a linter for that.
Also make imports a bit more concise in generated JS.
2013-03-16 13:02:01 -07:00
evancz
1822ebc160 Move the compiler down a directory, mostly. 2013-03-16 12:04:05 -07:00