Commit graph

389 commits

Author SHA1 Message Date
Evan Czaplicki
4f6973024b Export record constructors by default 2013-08-22 12:16:39 -07:00
Evan Czaplicki
18c67cb345 Properly perform extraChecks 2013-08-21 19:45:23 -07:00
Evan Czaplicki
11294300fc Prettier printing for list types 2013-08-21 19:44:57 -07:00
Evan Czaplicki
7c58089090 Remove unused import 2013-08-21 19:09:07 -07:00
Evan Czaplicki
4d25352f90 Show realiased types when printing errors and when printing module types 2013-08-21 19:08:03 -07:00
Evan Czaplicki
e6be50ecc0 Add the Type.Alias file to do realiasing when printing types 2013-08-21 19:07:03 -07:00
Evan Czaplicki
7093436b13 Switch to SrcTypes after type inference, not in compiler 2013-08-21 14:23:11 -07:00
Evan Czaplicki
5251be331a Reformat addError code 2013-08-21 11:57:07 -07:00
Evan Czaplicki
a7b0d3fa15 Make nested record types prettier. 2013-08-20 01:13:37 -07:00
Evan Czaplicki
b5979b4aaf Add occurs check and a test to make sure it works 2013-08-19 22:39:41 -07:00
Evan Czaplicki
70f1242bd0 Check that main is a Signal or (Signal Element), add tests for this case 2013-08-19 17:47:37 -07:00
Evan Czaplicki
4da7588d10 Add the ExtraChecks module to do occurs check and check the type of main 2013-08-19 16:54:46 -07:00
Evan Czaplicki
c2329d0aff Fix generation of JS code for pattern matching on literals 2013-08-16 12:41:30 -07:00
Evan Czaplicki
5fd85cd9c5 Permit single line comments intermingled with types 2013-08-15 23:29:29 -07:00
Evan Czaplicki
7c19935d86 reprime when printing types 2013-08-14 00:44:40 -07:00
Evan Czaplicki
0e62924aaf reprime when printing expressions and patterns 2013-08-14 00:44:29 -07:00
Evan Czaplicki
9ec51f558d deprime on parsing, not on JS generation 2013-08-14 00:42:26 -07:00
Evan Czaplicki
d9918e0ac2 Convince parser to commit to lists, records, and tuples 2013-08-13 23:41:44 -07:00
Evan Czaplicki
61b5d8fbfa Nicer messages on specific parse failures 2013-08-13 23:11:23 -07:00
Evan Czaplicki
ab83c78d8d Remove dead code 2013-08-13 23:09:46 -07:00
Evan Czaplicki
cd84e06695 Make pattern exhaustive, giving parse error when someone uses binops with different associativity 2013-08-13 22:20:00 -07:00
Evan Czaplicki
47d68d8bf2 Succeed on programs that have no expressions 2013-08-13 22:12:45 -07:00
Evan Czaplicki
bc0c6a4410 Fix #209, bad JS generation for primes in patterns 2013-08-13 18:10:17 -07:00
Evan Czaplicki
b7eb1335b0 Fix subtle bug with rigidVars vs rigidQuantifiers, was quantifing over the wrong variables in a forall 2013-08-12 14:32:51 -07:00
Evan Czaplicki
e4fc35c901 Make impossible error more specific 2013-08-12 14:30:32 -07:00
Evan Czaplicki
a3f62bdd14 style tweaks 2013-08-12 14:29:38 -07:00
Evan Czaplicki
1609e61cba Fix accidental creation of rigid variables when type-checking mixed record types when a type alias is given
Fixes the issue raised by Alexander
2013-08-12 14:27:42 -07:00
Evan Czaplicki
a736a28a43 Properly quantify variables in Data expressions. 2013-08-12 01:09:26 -07:00
Evan Czaplicki
585107eaed Fix variable shadowing when pattern matching on a pattern with only one variable, when it appears in a let-expression 2013-08-11 12:45:59 -07:00
Evan Czaplicki
9e58bdbc54 Canonicalize patterns in lambda expressions 2013-08-10 15:48:18 -07:00
Evan Czaplicki
47aa48d9fd Preemptively add "number" as a kind of flexible variable that can unify with an (Is Number)
This is similar to the recent issue with comparable brought up by Max.
2013-08-10 14:26:01 -07:00
Evan Czaplicki
3b27395e62 Fix issue unifying comparables brought up by Max on the lists
A flexible comparable should be able to unify with another comparable
2013-08-10 14:20:36 -07:00
Evan Czaplicki
9bba47c791 compute a flexibility mark, just so it's easier to turn on and off later 2013-08-10 14:18:59 -07:00
Evan Czaplicki
c54dbf38af Get rid of dead code and bad exports 2013-08-09 23:21:58 -07:00
Evan Czaplicki
5b6773c3ec Fix extra space in error message 2013-08-08 18:05:21 -07:00
Evan Czaplicki
623741877b Fix problems generating functions with 10 or more arguments
Mainly useful for record constructors which are automatically generated.
2013-08-08 16:04:40 -07:00
Evan Czaplicki
143547e766 Fix problem with variable shadowing when instantiating aliased types 2013-08-08 15:45:22 -07:00
Evan Czaplicki
0b9317124d Give more specific errors when a variable cannot be found during canonicalization 2013-08-07 09:38:30 -07:00
Evan Czaplicki
d85c01ebbc Merge pull request #204 from lambdatoast/patch-1
Remove extra "is" from defaultMessage.
2013-08-07 09:14:56 -07:00
Evan Czaplicki
9821e12a4c Strip \r from multiline strings 2013-08-07 09:12:53 -07:00
Alexander
a043b95f0c Remove extra "is" from defaultMessage. 2013-08-07 06:12:11 -03:00
Evan Czaplicki
cc81b1e22b Make sure that all directories in build/ are properly constructed 2013-08-06 22:51:21 -07:00
Evan Czaplicki
f7db7a3b47 Add a default error message for beginners 2013-08-06 22:12:26 -07:00
Evan Czaplicki
50dada1f22 Fix very silly error, default module name is "Main" not "Name" 2013-08-06 21:40:54 -07:00
Evan Czaplicki
53ef6d33c9 Give a better error message when trying to unify rigid type variables in a bad way 2013-08-06 21:20:32 -07:00
Evan Czaplicki
ed6b255ba5 Properly parse out module names, defaulting to Main if no name is given. 2013-08-06 21:20:08 -07:00
Evan Czaplicki
43b604e0ca Introduce cache/ and build/ directories
Switch from using --output-directory for all generated files, to using
--cache-dir for .elmo and .elmi files and using --build-dir for .html
and .js files.
2013-08-06 18:34:23 -07:00
Evan Czaplicki
2e38f7b061 Give line numbers when there is a kind error in a pattern 2013-08-06 15:44:19 -07:00
Evan Czaplicki
a3f62c34c3 Make errors a little bit better when a type alias gets the wrong number of arguments. 2013-08-06 15:43:59 -07:00
Evan Czaplicki
7af7c1f98d Change "line" to "on line" in the string representation of one line SrcSpans 2013-08-06 15:43:31 -07:00