Commit graph

50 commits

Author SHA1 Message Date
Richard Feldman
e26df0d8cb Drop unused ContentHash 2020-05-10 15:13:18 -04:00
Richard Feldman
ce9e7a91f6 Clean up some Cargo.toml files 2020-05-03 21:37:59 -04:00
Richard Feldman
07001131b2 Add can::builtins 2020-04-25 06:30:01 -04:00
Richard Feldman
1c1fee7e31 Trim trailing space off pretty_assertions dep 2020-04-16 19:24:24 -04:00
Folkert
63bc923b37 remove panic 2020-04-13 22:54:24 +02:00
Folkert
f6af66f342 record, tag, alias errors
- duplicate fields and tags are reported
- circular aliases are reported
2020-04-13 20:53:16 +02:00
Folkert
7632a4b484 highlight code snippets better 2020-04-12 20:59:16 +02:00
Folkert
d15bd07bf4 de-alias when diffing with a non-alias
When one of the types in a comparison is an alias, elm does not de-alias it.
That is really annoying if e.g. the alias is of a record and you used an invalid field: the field suggestion error does not kick in
2020-04-11 23:57:00 +02:00
Folkert
2811f978a4 make a Index data type 2020-04-11 20:40:25 +02:00
Folkert
ab19529077 record update hints 2020-04-11 14:55:12 +02:00
Folkert
c2ad8dfe7e use pretty.rs more 2020-04-09 23:27:11 +02:00
Folkert
7e4e3c93d5 cleanup 2020-04-07 21:12:56 +02:00
Folkert
7f999a06f3 add When pattern errors 2020-04-07 18:06:00 +02:00
Folkert
67f8f2e943 improve tag union errors 2020-04-06 21:40:54 +02:00
Folkert
2d6e47b8a6 test for record diff 2020-04-06 21:40:54 +02:00
Folkert
7818e84316 convert ErrorType to ReportText 2020-04-06 21:40:54 +02:00
Folkert
f8b3d5dce7 elem_in_list 2020-04-05 00:15:38 +02:00
Folkert
a2a79925b3 complete add_category 2020-04-03 16:10:41 +02:00
Richard Feldman
98f4f46248 Special-case 2-branch if/else errors 2020-04-03 01:51:42 -04:00
Folkert
1981a7e467 refactor and clean up 2020-04-03 01:20:35 +02:00
Folkert
604dbf7215 Merge remote-tracking branch 'origin/trunk' into precedence-error 2020-04-02 23:29:15 +02:00
Folkert
2e822e739f report circular type error 2020-04-02 23:13:35 +02:00
Folkert
8642cfeae0 report first type error 2020-04-01 23:37:05 +02:00
Folkert
106a3646bf add category to Eq constraint 2020-04-01 20:09:10 +02:00
Folkert
14ad793bd7 hook up TypeError 2020-04-01 16:28:10 +02:00
Folkert
46062439b5 remove label from Struct layout 2020-03-23 17:55:02 +01:00
Folkert
c6fa301d8b fix bug in is_unique 2020-03-22 13:22:52 +01:00
Folkert
920928399a type inference for pattern guards 2020-03-21 00:39:52 +01:00
Folkert
b6ca5e2fb9 allow Attr wrapper in tag union ext
this should not happen, but we sometimes call this function on the whole tag, which then may be Attr-wrapped
2020-03-17 15:27:05 +01:00
Folkert
5fca5fe631 collect tags from aliases 2020-03-17 00:36:58 +01:00
Folkert
a3b1ec3be0 pull tags/fields from the ext_var during unification 2020-03-13 15:12:32 +01:00
Folkert
4da01c720e monomorphize the ext_var of records/tag unions 2020-03-12 21:32:58 +01:00
Folkert
3dbaac210a add snapshot functions to Subs 2020-03-12 02:38:38 +01:00
Folkert
a037173cdb complete the Content hashing 2020-03-11 23:00:44 +01:00
Folkert
5c9cf0ef37 add type hash function 2020-03-11 22:01:56 +01:00
Folkert
fb8e8570bc Merge remote-tracking branch 'origin/trunk' into num 2020-03-11 14:30:50 +01:00
Richard Feldman
3ecbe0325c Plain number literals (e.g. 5) are now Num * 2020-03-10 22:27:13 -04:00
Folkert
62f34c41cc hardcode Bool alias
previously it would use the tag union, which would result in slightly worse error messages down the line
2020-03-10 15:21:39 +01:00
Folkert
7fea957979 hardcode Bool 2020-03-10 14:50:35 +01:00
Richard Feldman
72ecb231f1 clip clop clip clop clippy 2020-03-07 23:11:42 -05:00
Richard Feldman
db4ef45708 Upgrade to List.set_in_place when appropriate 2020-03-07 12:43:24 -05:00
Folkert
bca43a2564 improve is_unique 2020-03-07 12:43:24 -05:00
Richard Feldman
a092f59b0f First pass at is_unique 2020-03-07 12:43:24 -05:00
Folkert
94f2b6b6f6 switch back to Apply where possible 2020-03-07 00:50:38 +01:00
Folkert
eb7d9d98e6 hardcode variables for empty records and tag unions 2020-03-07 00:25:16 +01:00
Folkert
12a819e762 extract tags from the ext variable
turns out this is always needed. I also removed the explicit check for an empty tag union: there could still be tags in the ext even if the union itself seems empty.
seems weird to optimize for the empty case because it'll be very rare in practice
2020-03-06 13:45:59 +01:00
Richard Feldman
3b26a982f0 Move pretty_print_types into types crate 2020-03-06 02:01:05 -05:00
Richard Feldman
908e485fca Move constrain and its deps into their own crates 2020-03-06 01:43:39 -05:00
Richard Feldman
8ef2ae3de7 clippy clip clip 2020-03-05 23:03:29 -05:00
Richard Feldman
3b6ed43126 Extract can/ into its own crate, plus its deps 2020-03-05 23:01:32 -05:00