Commit graph

41 commits

Author SHA1 Message Date
Folkert
33ff36daad make things work by removing type signatures 2020-10-19 00:28:14 +02:00
Folkert
81af929f8f always unify full alias body, even when alias names match 2020-10-18 21:16:22 +02:00
Folkert
de8ad07f2e Merge branch 'top-level-thunks' into sized-functions-inference 2020-10-14 21:58:53 +02:00
Folkert
62ed1508d5 fix mistake in tests
no idea why this passed before, it clearly shouldn't
2020-10-14 16:37:53 +02:00
Folkert
f07fe1879b fix problem with specializing rigids 2020-10-14 02:21:33 +02:00
Folkert
40f0588696 back to a working state 2020-10-11 21:55:26 +02:00
Folkert
e9f5c1a73c actually infer the size 2020-10-02 22:33:31 +02:00
Folkert
2e1e87ad6a add closure size variable 2020-10-02 00:53:02 +02:00
Folkert
ad8e9db896 fix comments/warnings 2020-09-08 14:18:55 +02:00
Folkert
4522fe14fc fix recursion issue in type inference 2020-09-07 16:35:49 +02:00
Folkert
127dd06586 fix bug with optional record fields 2020-09-07 14:13:22 +02:00
Folkert
46755973d6 wip 2020-09-06 18:53:26 +02:00
Folkert
f9cf4ea371 recursive tag unions 2020-08-31 14:29:09 +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
98a8bb8115 Fix unifying optional fields 2020-07-18 14:26:38 -04:00
Richard Feldman
ae05f0eb0c Unify optional fields 2020-07-18 12:50:47 -04:00
Folkert
88ca25e7ee move get_shared function to collections 2020-07-17 23:49:43 +02:00
Folkert
c589be43c6 fix triple (or more) mutualy recursive type aliases 2020-06-30 14:25:47 +02:00
Folkert
5483ec819f fix infinite unfolding of recursive tag union 2020-06-30 13:54:16 +02:00
Folkert
b4480e212a fix uniqueness attribute on nested recursive aliases 2020-06-29 17:08:39 +02:00
Folkert
e5ec7cbdcf clippy 2020-06-29 00:18:50 +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
55e1e86dc2 cleanup 2020-06-27 23:56:53 +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
f31e260e2f Don't log type mismatch info in release builds 2020-05-26 00:04:59 -04:00
Richard Feldman
ce9e7a91f6 Clean up some Cargo.toml files 2020-05-03 21:37:59 -04:00
Richard Feldman
1c1fee7e31 Trim trailing space off pretty_assertions dep 2020-04-16 19:24:24 -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
67f8f2e943 improve tag union errors 2020-04-06 21:40:54 +02:00
Folkert
3f4346f573 stop unification when ext vars don't unify 2020-04-06 21:40:54 +02:00
Richard Feldman
0357ff552b Improve a todo error message 2020-04-05 23:30:39 -04:00
Folkert
14ad793bd7 hook up TypeError 2020-04-01 16:28:10 +02:00
Folkert
a3b1ec3be0 pull tags/fields from the ext_var during unification 2020-03-13 15:12:32 +01:00
Folkert
e01a6bab9b improve error reporting by mismatch! macro 2020-03-13 13:06:56 +01:00
Folkert
de8d1f81d1 fix typo in Tag unification 2020-03-06 13:46:58 +01:00
Richard Feldman
3b26a982f0 Move pretty_print_types into types crate 2020-03-06 02:01:05 -05:00
Richard Feldman
cc92ca7e7c Move solve and unify into their own crates 2020-03-06 01:43:50 -05:00