Commit graph

293 commits

Author SHA1 Message Date
Folkert
607799b96e steps towards closures and Effects 2020-10-17 20:53:57 +02:00
Folkert
edfc96628e WIP 2020-10-17 14:53:57 +02:00
Folkert
d931c8994a fix most type inference issues 2020-10-16 20:50:42 +02:00
Folkert
9b83c3ad58 optional record fields in patterns are bound 2020-10-16 15:29:21 +02:00
Folkert
ca2efc27bd Merge remote-tracking branch 'origin/trunk' into sized-functions-inference 2020-10-15 14:34:32 +02:00
Folkert
b440ab90f6 infer closure size! 2020-10-14 23:26:44 +02:00
Folkert
de8ad07f2e Merge branch 'top-level-thunks' into sized-functions-inference 2020-10-14 21:58:53 +02:00
Folkert de Vries
391f5b5e17
Merge branch 'trunk' into clippy 2020-10-14 12:09:27 +02:00
Brendan Hansknecht
eb7e39bf7b Make clippy happy 2020-10-13 20:26:00 -07:00
Folkert
f07fe1879b fix problem with specializing rigids 2020-10-14 02:21:33 +02:00
Folkert
2da2c25d32 research bug with linked list and uniqueness 2020-10-14 00:49:14 +02:00
Folkert
973a632c25 add helper that instantiates rigids to flex vars 2020-10-12 23:52:41 +02:00
Folkert
4f9b27b694 sketch of a proof of concept 2020-10-11 01:54:50 +02:00
Folkert
79d3b0ac01 cross module specialization WIP 2020-10-11 01:23:52 +02:00
Folkert
d346482b76 fix new clippy warnings 2020-10-10 19:59:58 +02:00
Folkert
e9f5c1a73c actually infer the size 2020-10-02 22:33:31 +02:00
Folkert
c00cd2f415 hook everything up in the gen tests 2020-10-02 21:04:42 +02:00
Folkert
05d1f28e83 add logic to generate/solve closure size constraints 2020-10-02 20:46:47 +02:00
Folkert
2e1e87ad6a add closure size variable 2020-10-02 00:53:02 +02:00
Folkert
ba186bfe09 can store, but not load recursive fields 2020-08-22 16:01:04 +02:00
Folkert
b45b39af5e optional fields improvements 2020-07-21 15:25:21 +02:00
Richard Feldman
a05ebbf36b Solve optional fields 2020-07-18 13:49:06 -04:00
Folkert
27317110f2 add comment describing solving process 2020-07-14 23:13:37 +02:00
Folkert
bd086e5c9b fix rank issue for uniqueness 2020-06-29 00:18:50 +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
a4338f0406 Remove lots of unnecessary clones (thanks clippy!) 2020-06-07 15:43:07 -04:00
Richard Feldman
c386192e8b Reorganize when solving and constraint gen happen 2020-05-26 00:04:42 -04: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
7f999a06f3 add When pattern errors 2020-04-07 18:06:00 +02:00
Richard Feldman
0357ff552b Improve a todo error message 2020-04-05 23:30:39 -04:00
Folkert
1981a7e467 refactor and clean up 2020-04-03 01:20:35 +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
e2a079f0cc empty ext vars in type_to_var 2020-03-14 01:43:14 +01:00
Folkert
7fea957979 hardcode Bool 2020-03-10 14:50:35 +01:00
Folkert
21bbfd3c94 Merge remote-tracking branch 'origin/trunk' into use-fewer-variables 2020-03-07 00:53:13 +01: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
Richard Feldman
a2f5f6f9fb Move solve and uniq tests into other crates 2020-03-06 18:24:37 -05:00
Richard Feldman
cc92ca7e7c Move solve and unify into their own crates 2020-03-06 01:43:50 -05:00
Renamed from compiler/src/solve.rs (Browse further)