Commit graph

139 commits

Author SHA1 Message Date
Evan Czaplicki
dce5e3eade Add String as an appendable type 2013-10-02 16:04:30 -07:00
Evan Czaplicki
76b2e56981 Add Strings as a primitive in the compiler 2013-10-02 15:56:43 -07:00
Evan Czaplicki
6fb2fa9ee0 Chose the best alias when many apply (fixes issue #227) 2013-09-02 14:59:22 -07:00
Evan Czaplicki
7e1d95a108 Move the markdown function to the text library 2013-09-01 22:20:07 -07:00
Evan Czaplicki
7c159b294a Enable parsing of basic markdown interpolation
No interpolated values are actually used, but they are type checked.
2013-08-29 13:00:38 -07:00
Evan Czaplicki
95ec3a822e Stop using error when constraining patterns and when instantiating source types 2013-08-25 20:23:49 -07:00
Evan Czaplicki
60e90c0f95 Add a note about what canonicalRealias does 2013-08-24 14:50:40 -07:00
Evan Czaplicki
18c67cb345 Properly perform extraChecks 2013-08-21 19:45:23 -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
7c19935d86 reprime when printing types 2013-08-14 00:44:40 -07:00
Evan Czaplicki
47d68d8bf2 Succeed on programs that have no expressions 2013-08-13 22:12:45 -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
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
143547e766 Fix problem with variable shadowing when instantiating aliased types 2013-08-08 15:45:22 -07:00
Alexander
a043b95f0c Remove extra "is" from defaultMessage. 2013-08-07 06:12:11 -03:00
Evan Czaplicki
f7db7a3b47 Add a default error message for beginners 2013-08-06 22:12:26 -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
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
3c05f538d0 Make error messages prettier 2013-08-03 12:28:59 -07:00
Evan Czaplicki
cb1a7a2355 Make formatting nicer for type errors 2013-08-03 12:02:59 -07:00
Evan Czaplicki
20047ec0eb Show source strings in error messages when possible 2013-08-03 11:41:47 -07:00
Evan Czaplicki
51bc878b51 Use new Located datastructure, add source strings where appropriate 2013-08-03 11:41:33 -07:00
Evan Czaplicki
28d256876d Fix record constructor for extension 2013-08-02 10:51:12 -07:00
Evan Czaplicki
8e54751626 Correctly generate a type for markdown blocks 2013-08-01 17:19:34 -07:00
Evan Czaplicki
20e2ff0a28 Properly handle the qualified Text type 2013-08-01 15:38:40 -07:00
Evan Czaplicki
ce527c0c07 Style change 2013-07-31 12:12:57 -07:00
Evan Czaplicki
4f595c2ca5 Eliminate dead code and reduce dependencies 2013-07-31 12:12:52 -07:00
Evan Czaplicki
3ef5284afd Stop using the MultiWayIf extension 2013-07-30 22:57:13 -07:00
Evan Czaplicki
8006d8e54a Report line numbers in type errors 2013-07-30 16:22:20 -07:00
Evan Czaplicki
b1f53d04ed Pipe source locations through the type checker 2013-07-30 16:01:20 -07:00
Evan Czaplicki
c6868f1bd6 cosmetic change 2013-07-30 11:57:58 -07:00
Evan Czaplicki
a4c4cf0493 Use Location.none less 2013-07-30 11:55:41 -07:00
Evan Czaplicki
b26edcc46e Simplify representation of source locations 2013-07-30 11:43:42 -07:00
Evan Czaplicki
3065f58924 Support appendable types 2013-07-30 08:58:09 -07:00
Evan Czaplicki
fa448548b8 Make error messages nicer 2013-07-30 08:31:05 -07:00