Commit graph

99 commits

Author SHA1 Message Date
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
Evan Czaplicki
a1b7336547 Make comparable work fully and clean up code 2013-07-30 08:30:49 -07:00
Evan Czaplicki
3da8a71d00 Add ability to collect App1's into a Type constructor
Useful for determining if something is a Tuple or List
2013-07-30 08:29:52 -07:00
Evan Czaplicki
f8fe8e4495 Properly convert Type.Type to SourceSyntax.Type 2013-07-29 20:23:42 +02:00
Evan Czaplicki
ec24738e9c Get rid of dead code 2013-07-29 19:25:58 +02:00
Evan Czaplicki
6ace8a0bf7 Move the definition of the Signal type out of the compiler and into the Signal library 2013-07-29 15:47:48 +02:00
Evan Czaplicki
46cb850570 Whitespace cleanup 2013-07-29 13:23:14 +02:00
Evan Czaplicki
eb96d7ad8d Get rid of current canonicalization code 2013-07-29 11:53:45 +02:00
Evan Czaplicki
da346ea6a1 Show type errors in the order they appear in the source file 2013-07-27 00:53:34 +02:00
Evan Czaplicki
fd63aff70b Correct the code that unifies records 2013-07-27 00:15:26 +02:00
Evan Czaplicki
576e979483 Simplify code to generate record constraints 2013-07-27 00:14:38 +02:00
Evan Czaplicki
ab41d0c0e8 Take out types that were listed as "builtin" 2013-07-26 21:19:08 +02:00
Evan Czaplicki
c1d5f86e82 Simplify type error messages 2013-07-26 21:18:44 +02:00
Evan Czaplicki
42065eb075 Generate fewer intermediate variables during record unification 2013-07-26 19:39:42 +02:00
Evan Czaplicki
ebcaad0004 Fix possibility of calling maximum on empty lists 2013-07-26 19:39:12 +02:00
Evan Czaplicki
2a51470fc1 Implement unification for records 2013-07-26 19:04:43 +02:00
Evan Czaplicki
760ad905cf Add record constructors, begin using lists to represent fields in record types to maintain ordering from the source program 2013-07-26 18:20:57 +02:00
Evan Czaplicki
2a5bee06fc Include type aliases from dependencies 2013-07-26 17:35:48 +02:00
Evan Czaplicki
0f85a2fcfa Resolve type aliases in instantiator 2013-07-26 15:08:04 +02:00
Evan Czaplicki
46631c3616 Remove dead code 2013-07-26 15:07:35 +02:00
Evan Czaplicki
6948858f78 Allow multiple different imports of the same module, clean up canonicalize code 2013-07-26 12:56:36 +02:00
Evan Czaplicki
0681fbe583 Get rid of dead function and give instantiateTypeWithContext a shorter name 2013-07-26 12:22:15 +02:00
Evan Czaplicki
32a331b3b0 Load ADTs into the environment to fix constraint generation for patterns 2013-07-26 12:19:24 +02:00
Evan Czaplicki
2b2bc087e4 Minor cosmetic change 2013-07-26 11:40:44 +02:00
Evan Czaplicki
ff67c667a0 Get Matrix2D and Signal compiling 2013-07-26 00:33:59 +02:00
Evan Czaplicki
727d708289 Get libraries to compile 2013-07-26 00:19:21 +02:00
Evan Czaplicki
ec8687610f Move type annotations out of Environment and into the Basics library 2013-07-26 00:06:52 +02:00
Evan Czaplicki
0db809ff4c Switch formatting for language pragmas 2013-07-25 20:34:04 +02:00
Evan Czaplicki
9fe6c9a564 Change functions for creating type variables, distinguish names of different constraint type variables 2013-07-25 18:07:04 +02:00
Evan Czaplicki
642b1f7fcc Properly handle constrained variables when converting from Src.Type to Type.Type 2013-07-25 17:36:52 +02:00
Evan Czaplicki
609cc3df96 Unify any constrained variables with the same super-type 2013-07-25 17:10:01 +02:00
Evan Czaplicki
a05c82f58b Mess with whitespace 2013-07-25 17:09:23 +02:00
Evan Czaplicki
d059c362d9 Fix the type of String literals 2013-07-25 16:02:49 +02:00
Evan Czaplicki
b6144aeb07 Properly unify constrained variables, serious changes here!!!
I also rewrote merge1 and merge2 which are dangerous functions to touch.
2013-07-25 15:48:58 +02:00
Evan Czaplicki
856360bd94 Get rid of unused part of the type error message 2013-07-25 15:46:48 +02:00
Evan Czaplicki
4e7ef5f177 Add definitions for functions that act on numbers and comparables
This will get moved into Elm code eventually
2013-07-25 14:54:21 +02:00
Evan Czaplicki
d456cec5c8 Overload literal numbers without a decimal point to be either Ints or Floats 2013-07-25 01:25:17 +02:00
Evan Czaplicki
82ca695dca Add support for "number" type which can be either an Int or Float 2013-07-25 01:24:16 +02:00
Evan Czaplicki
666d9f8ca3 Assume all variables with the "Native." prefix exist and have type "a" 2013-07-25 01:23:30 +02:00
Evan Czaplicki
8ffcf9e80e Prettier printing for infix operator definitions 2013-07-23 15:43:21 +02:00
Evan Czaplicki
802be96e57 Fix issue in which patterns could become too general 2013-07-23 15:32:08 +02:00