Commit graph

41 commits

Author SHA1 Message Date
Evan Czaplicki
947b82ed09 Switch more files over to new Expressions 2013-07-04 17:31:22 +02:00
Andrew Miller
1b4aca9685 Turn off debug code that printed all constraints during unify.
This debug code is very noisy and makes it hard to test the dev
branch because you can't see warnings buried in all the debug
output.
2013-07-01 08:43:00 +12:00
Evan Czaplicki
e80ea9e430 Add support for pattern matching on literals. 2013-06-23 01:36:23 -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
a9de2342dc Solve a "non-exhaustive pattern match" 2013-06-14 19:38:03 -07:00
evancz
35981eb42f Finish parameterizing the AST and properly check errors in let expressions. 2013-06-14 19:23:58 -07:00
evancz
d7dcf5a9e8 Get the whole compiler building again. 2013-06-13 22:59:14 -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
6fc30322ce Print out a bunch of extra information about type checking. 2013-06-09 11:15:03 -07:00
evancz
989d878ac5 Merge branch 'master' into dev
Conflicts:
	compiler/Model/Ast.hs
	compiler/Types/Constrain.hs
2013-06-06 22:36:14 -07:00
evancz
ad0f1f1fed Switch from sets of constraints to lists of constraints. This should have a positive performance impact, in that list insertion should be asymptotically faster than set insertion. 2013-06-06 21:36:18 -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
e086c17e07 Resolve types for values imported from the standard library.
Still missing is ADT constructors in pattern matches and values from user defined modules.
2013-05-28 15:59:22 -07:00
evancz
8ae1d112dc Turn on warning for undefined values. 2013-05-28 06:48:25 -07:00
evancz
ce6467266f Clean up imports in many files. 2013-05-28 06:47:36 -07:00
evancz
94bb5e5a31 Change the type of FieldState slightly. Now uses selectionStart and selectionEnd instead of the more ambiguous start and end.
Also add tons of documentation to `Graphics.Input`.

Also add the `emptyFieldState` value.
2013-05-20 15:35:44 +02:00
evancz
ee91bd91fc Allow elm-doc to handle type aliases and ADTs. 2013-05-17 12:50:01 +02:00
evancz
3f8ce38f81 Rename some stuff in Graphics.Input 2013-05-06 02:30:11 -07:00
evancz
2ae0e90735 Add LineStyle to type aliases and add some annotations to the collage library 2013-05-05 12:11:45 -07:00
evancz
6b8fadac5f Fix type errors and naming mistake 2013-05-05 00:40:45 -07:00
evancz
5b3e7e15e3 Add KeyCode alias. 2013-05-04 19:01:42 -07:00
evancz
ef1275e5a1 Add Touch and TextState aliases. 2013-05-04 18:58:10 -07:00
evancz
b359fd0b47 Revise elm-docs to copy the names of type variables in type annotations directly. 2013-05-04 18:19:54 -07:00
evancz
530bc6e2b9 Fix how types are converted to strings. This actually fixes some bugs that come from generating docs.json, which led to incorrect types being used in the compiler. 2013-04-09 22:12:31 -07:00
evancz
7d03f69f8c Provide a way to define super-types in type annotations. Should not be used outside of core libraries. 2013-04-09 19:50:56 -07:00
evancz
c2fc03ca0f Dealias more reliably during unification 2013-04-09 10:05:00 -07:00
evancz
5d536d129a Get prelude added in all cases. 2013-04-08 01:48:30 -07:00
evancz
703508f1c3 Fix prelude imports and correctly generalize for library types that use Number. 2013-04-07 17:55:34 -07:00
evancz
1d04b342d8 Permit pattern matching on records in case-expressions. 2013-04-07 06:46:46 -07:00
evancz
0354fad128 Explicitly list imports for a module. 2013-04-05 09:56:37 -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
9c8dfd9b68 Give better name for errors when parsing docs.json 2013-03-28 10:01:15 -07:00
evancz
87a275abeb Fix bugs:
* types rendered "::" instead of ":"
* `Signal.count` was broken
* Prelude didn't have `show`
2013-03-24 19:17:21 -07:00
evancz
7dbb052b22 Load json representation of types with Template Haskell, so library files are the base truth of type information.
Make minor fixes in libraries, such as adding the Char labrary and fixing the types in the Dict library.
2013-03-16 22:24:18 -07:00
evancz
1822ebc160 Move the compiler down a directory, mostly. 2013-03-16 12:04:05 -07:00