Commit graph

253 commits

Author SHA1 Message Date
Folkert
58dfeba043 accept a newline and body when patterns are different 2020-07-07 17:26:45 +02:00
Folkert
e595c14fae wip 2020-07-06 20:38:10 +02:00
Folkert
b7d689226c cover all parsed patterns with an error message
but, some invalid patterns are not parsed as expected. See https://github.com/rtfeldman/roc/issues/399
2020-07-04 20:39:49 +02:00
Folkert
0c7a4179aa report malformed int and float patterns 2020-07-04 20:29:37 +02:00
Folkert
667233a00d report error for invalid alias argument patterns 2020-07-03 16:54:28 +02:00
Folkert
744b8ce32b fix todos regarding InvalidCycle 2020-07-03 15:42:24 +02:00
Folkert
0cfb16c7d5 implement canonicalization error when signature pattern does not match definition pattern. 2020-07-02 23:24:10 +02:00
Richard Feldman
8c96d12661 Merge trunk 2020-06-29 22:10:46 -04:00
Folkert
3fc2323891 fix recursion bug
previously, `Cons 1 (Cons {} Nil)` would get inferred as ConsList Int, because only the outer layer of a tag union was checked with the recursive tag union. Now this is done continually.
2020-06-29 00:18:50 +02:00
Richard Feldman
baa3debae2 Update cyclic alias test 2020-06-27 16:49:48 -04:00
Richard Feldman
55045e1cea Fix some tests and docs 2020-06-25 22:11:46 -04:00
Richard Feldman
f350c0ed52 Fix List.len monomorphization 2020-06-23 21:14:23 -04:00
Richard Feldman
269da82840 Make VarStore no longer use atomics 2020-06-13 21:59:01 -04:00
Richard Feldman
4295dec955 Fix load_builtin_aliases ordering 2020-05-26 00:04:59 -04:00
Richard Feldman
c386192e8b Reorganize when solving and constraint gen happen 2020-05-26 00:04:42 -04:00
Richard Feldman
7e7c6ef4af Drop obsolete symbol_counter field 2020-05-04 20:32:21 -04:00
Richard Feldman
ee31eac0c5 Code gen toplevel module functions 2020-05-01 19:30:55 -04:00
Folkert
848764cb25 improve formatting of records in pattern exhaustiveness errors 2020-04-23 21:49:24 +02:00
Folkert
c54d61c854 fix formatting of ctor patterns in errors 2020-04-23 20:30:42 +02:00
Folkert
b2a713915b fix ordering bug in pattern exhaustiveness 2020-04-23 20:12:40 +02:00
Folkert
f0aa598ff9 use tag id instead of name in exhaustiveness checking 2020-04-21 16:24:43 +02:00
Folkert
aea48f703a working parser error 2020-04-16 01:30:28 +02:00
Folkert
719ef5b70e parse error infrastructure 2020-04-15 21:10:42 +02:00
Folkert
e21cdfc689 bring parse errors into the reporting tests 2020-04-15 19:49:05 +02:00
Folkert
c42b5a1e5b improved phantom type message 2020-04-14 21:27:29 +02:00
Folkert
7e4a1ef4bd better message for duplicate fields/tags 2020-04-14 21:18:37 +02:00
Folkert
18c6c37c04 fix self-recursive alias case 2020-04-14 01:33:16 +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
0372b34e86 fix comments 2020-04-12 22:00:44 +02:00
Folkert
c69b0d69e5 fix enum and bool pattern match suggestions 2020-04-12 21:47:15 +02:00
Folkert
7632a4b484 highlight code snippets better 2020-04-12 20:59:16 +02:00
Folkert
c326b09964 errors for patterns 2020-04-12 16:39:54 +02:00
Folkert
97c10e1211 setup for mono reports 2020-04-12 01:56:57 +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
06cd298126 add cycle helper 2020-04-10 23:26:30 +02:00
Folkert
931567ac4d a working state again 2020-04-10 22:07:02 +02:00
Folkert
3187138084 WIP convert all the type_error things 2020-04-10 18:07:16 +02:00
Folkert
1672b89e19 circular types with pretty 2020-04-10 14:48:34 +02:00
Folkert
fcb62cdf8e add titles to errors 2020-04-09 23:58:28 +02:00
Folkert
c2ad8dfe7e use pretty.rs more 2020-04-09 23:27:11 +02:00
Folkert
fd7ca5bcc9 don't add guarded record fields into scope 2020-04-09 01:08:09 +02:00
Folkert
85e2cf4465 add a bunch of hints 2020-04-09 01:08:09 +02:00
Folkert
5e226ee5f4 convert type problems into pretty doc 2020-04-09 01:08:09 +02:00
Folkert
a587e31897 complete pattern_to_doc 2020-04-09 01:08:09 +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
ccd021a755 add FnCall error message 2020-04-07 13:31:48 +02:00
Folkert
02e42b0abc add from annotation cases 2020-04-06 22:59:21 +02:00
Folkert
67f8f2e943 improve tag union errors 2020-04-06 21:40:54 +02:00