Richard Feldman
da620947ff
Use debug_assert_eq! more
2020-07-10 00:06:45 -04:00
Richard Feldman
1cd49689c2
Merge remote-tracking branch 'origin/trunk' into low-level-ops
2020-07-07 21:09:50 -04:00
Folkert
ea314be5a2
sort in pretty printing for stable results
2020-07-06 21:46:15 +02:00
Richard Feldman
909b273083
Merge branch 'trunk' into annotation-def-match
2020-07-02 19:10:50 -04:00
Folkert
5c81b46d1c
remove clone
2020-07-02 23:22:55 +02:00
Folkert
a3c1788d48
Allelujah! Don't Trust! Assert!
2020-06-30 15:15:58 +02:00
Folkert
36e6950daa
ensure VarId always encodes root var
...
otherwise variables with the same root, but different values would be different once imported in another module
2020-06-30 15:03:30 +02:00
Richard Feldman
8c96d12661
Merge trunk
2020-06-29 22:10:46 -04:00
Folkert
b4480e212a
fix uniqueness attribute on nested recursive aliases
2020-06-29 17:08:39 +02: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
Folkert
e4384753fb
add comments about alias uvar instantiation
2020-06-29 00:18:50 +02:00
Folkert
55e1e86dc2
cleanup
2020-06-27 23:56:53 +02:00
Folkert
229d98483c
add docs
2020-06-27 23:27:00 +02:00
Folkert
41621bc509
fix test outputs
...
in some cases for aliases the outputs are not entirely correct yet. That's future work
2020-06-27 21:01:51 +02:00
Folkert
79f01e0604
loads of things
2020-06-27 16:20:30 +02:00
Folkert
e5997c4047
fix mutual recursive types
...
I'll write a bit more about this in the PR message
2020-06-26 01:03:55 +02:00
Folkert
055b01c463
rewrite uniqueness logic
2020-06-24 23:06:34 +02:00
Richard Feldman
f350c0ed52
Fix List.len monomorphization
2020-06-23 21:14:23 -04:00
Richard Feldman
88990c8711
Move Int and Float modules into Num
2020-06-22 23:25:38 -04:00
Richard Feldman
dec5c3a062
Get low-level ops compiling
2020-06-19 20:07:04 -04:00
Richard Feldman
269da82840
Make VarStore no longer use atomics
2020-06-13 21:59:01 -04:00
Richard Feldman
72706a0ac0
clippy
2020-06-07 15:37:12 -04:00
Richard Feldman
99dcda8603
Use inlinable_string 0.1
2020-05-31 20:14:19 -04:00
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