Commit Graph

188 Commits

Author SHA1 Message Date
Folkert
bde82c3bb6 add Store constraint that does not report errors 2020-11-12 15:47:56 +01:00
Folkert
75d18eb8ba no more rigid mistakes? 2020-11-12 15:31:25 +01:00
Folkert
7a719172bc more rigid fixes? 2020-11-12 14:55:46 +01:00
Folkert
eaf94f2cfc uncomment more of rbtree 2020-11-12 00:45:47 +01:00
Folkert
21685b6f8f add tests for the rigid issue 2020-11-11 22:55:46 +01:00
Folkert
22592eff80 fix issue with rigids 2020-11-11 22:51:28 +01:00
Folkert
0ba612ecdb refactor 2020-11-11 21:56:25 +01:00
Folkert
62a82d1135 extract untyped args helper 2020-11-11 21:46:12 +01:00
Folkert
d6e7e8381c make it clearer the variables come from the def's pattern 2020-11-11 20:49:04 +01:00
Folkert
984cf744e3 make Storage store where it came from 2020-11-11 01:16:30 +01:00
Folkert
c64a6da745 make Storage store where it came from 2020-11-11 01:14:15 +01:00
Folkert
3aa6455795 fix problem with recursive definition constraint gen 2020-11-10 19:40:35 +01:00
Folkert
3cd132dd51 introduce foreign call 2020-11-05 23:35:56 +01:00
Folkert
2acbfa91f1 remove def_symbol field 2020-11-04 14:59:41 +01:00
Folkert
c09b66a9cc add HostExposedAlias 2020-11-04 13:19:57 +01:00
Folkert
b075c2d394 clean up imports 2020-10-31 15:36:46 +01:00
Folkert
6c578440e0 remove uniqueness alias lifting 2020-10-31 15:35:17 +01:00
Folkert
4bd723b353 remove more unneeded alias things 2020-10-31 15:33:43 +01:00
Folkert
09ad286123 remove unused function 2020-10-31 15:29:36 +01:00
Folkert
8b3b677439 remove aliases from Let and LetCon 2020-10-31 15:27:24 +01:00
Folkert
9e981c264e fix clippy issues 2020-10-30 22:28:55 +01:00
Folkert
58467d6515 get tests back up an running 2020-10-30 16:58:53 +01:00
Folkert
cba841601b fix some uniqueness issues 2020-10-30 01:50:57 +01:00
Folkert
73e0ea2e5d fix some mistakes 2020-10-30 00:35:40 +01:00
Folkert
8a50d48ce2 expand aliases used in constraint gen 2020-10-29 22:31:14 +01:00
Folkert
f13c28fe7f collect and instantiate hidden variables 2020-10-25 19:11:03 +01:00
Folkert
2c55fa5ec5 clippy 2020-10-24 21:23:55 +02:00
Folkert
9d2a4a7d39 move SolvedType -> Type conversion to solved_types.rs 2020-10-24 01:17:51 +02:00
Folkert
e446ecd9a9 factor out closure constraint generation 2020-10-21 13:47:02 +02:00
Folkert
4db09b10aa refactor ClosureLayout 2020-10-21 13:38:46 +02:00
Folkert
c8c1a0678a code gen for variably-sized closures 2020-10-21 13:01:27 +02:00
Folkert
3408a31453 preparations for specializing closures 2020-10-20 00:33:10 +02:00
Folkert
6d866ff58d so defs get different treatment... 2020-10-19 15:44:32 +02:00
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
70a53bd544 cleanup 2020-10-17 00:56:40 +02:00
Folkert
defa408e83 clippy fixes 2020-10-17 00:40:01 +02:00
Folkert
acd275f57c uniqueness closure size inference 2020-10-16 21:07:39 +02:00
Folkert
d931c8994a fix most type inference issues 2020-10-16 20:50:42 +02:00
Folkert
40ffca2b7b IT WORKS 2020-10-16 00:18:40 +02:00
Folkert
de8ad07f2e Merge branch 'top-level-thunks' into sized-functions-inference 2020-10-14 21:58:53 +02:00
Folkert
2df86b6438 fix uniqueness bug
builtin defs were included twice, which threw off uniqueness inference
2020-10-12 22:16:10 +02:00
Folkert
79d3b0ac01 cross module specialization WIP 2020-10-11 01:23:52 +02:00
Folkert
c8e5acf142 code gen Accessor 2020-10-03 21:44:04 +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
a0c6952258 fix problem in uniqueness inference 2020-10-02 01:08:37 +02:00
Folkert
2e1e87ad6a add closure size variable 2020-10-02 00:53:02 +02:00
Folkert
f857203673 Merge remote-tracking branch 'origin/trunk' into recursive-layouts 2020-09-07 16:53:15 +02:00
Folkert
46755973d6 wip 2020-09-06 18:53:26 +02:00
Sébastien Besnier
f319fdad79 Tag with no args in error msgs (#471) 2020-09-05 08:42:40 +02:00
Richard Feldman
37a254cef3 Interpolate strings by desugaring to Str.concat
We could definitely make this more efficent by
allocating enough space for the final string
and then copying the contents of each of the pieces
into it one by one. We don't do that yet though!
2020-08-31 23:14:45 -04:00
Richard Feldman
e9f71d09bb Monomorphize string interpolation 2020-08-31 23:13:50 -04:00
Richard Feldman
274e7e786d Constrain string interpolation 2020-08-31 23:13:50 -04:00
Richard Feldman
f35e43768a Get things compiling 2020-08-31 23:13:50 -04:00
Folkert
b4c5c2f793 add variable to list
stores the list type, so we can know whether it is unique
2020-08-10 21:05:57 +02:00
Folkert
a82cc7f28f fix weird region in error messages 2020-07-21 16:20:03 +02:00
Folkert
b45b39af5e optional fields improvements 2020-07-21 15:25:21 +02:00
Folkert
e93c04a8ce improved error messages for function definitions 2020-07-20 21:38:21 +02:00
Folkert
ae966c8933 constraint default unique 2020-07-20 13:44:45 +02:00
Folkert
36574e6ff7 constrain the default 2020-07-20 13:28:20 +02:00
Richard Feldman
7330e82f75 Constrain optional fields 2020-07-18 14:51:18 -04:00
Richard Feldman
8a2d6004ee Constrain uniquness for optional fields 2020-07-18 13:45:12 -04:00
Richard Feldman
1409421de2 Constrain optional record fields 2020-07-18 13:45:12 -04:00
Richard Feldman
8fc9a450b3 Canonicalize optional record fields 2020-07-18 13:12:13 -04:00
Folkert
d27dcceef2 use index-based approach for Apply 2020-07-18 01:23:35 +02:00
Folkert
25329ad672 get rid of Container 2020-07-18 00:57:27 +02:00
Folkert
ce8bcbb5ed introduce Record and Apply Update and Access 2020-07-18 00:52:22 +02:00
Folkert
6e7ec8cd2c fix other test failures 2020-07-18 00:18:55 +02:00
Richard Feldman
3d9dba251e Fix new Rust 1.45 clippy warning 2020-07-16 19:48:58 -04:00
Richard Feldman
1cd49689c2 Merge remote-tracking branch 'origin/trunk' into low-level-ops 2020-07-07 21:09:50 -04:00
Folkert
0c7a4179aa report malformed int and float patterns 2020-07-04 20:29:37 +02:00
Folkert
474d164a8c fix some comments 2020-07-03 16:21:09 +02:00
Folkert
744b8ce32b fix todos regarding InvalidCycle 2020-07-03 15:42:24 +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
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
Richard Feldman
8c96d12661 Merge trunk 2020-06-29 22:10:46 -04: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
dd8dff0f9e Fix some unary ops 2020-06-23 19:17:39 -04:00
Richard Feldman
88990c8711 Move Int and Float modules into Num 2020-06-22 23:25:38 -04:00
Richard Feldman
56c637e399 Fix some constraint gen 2020-06-21 16:48:44 -04:00
Richard Feldman
461e166254 wip 2020-06-20 13:59:04 -04:00
Richard Feldman
dec5c3a062 Get low-level ops compiling 2020-06-19 20:07:04 -04:00
Richard Feldman
e49b43d376 Extract constrain_imports & pre_constrain_imports 2020-06-19 11:02:10 -04:00
Richard Feldman
1b3b9ee1c4 Merge remote-tracking branch 'origin/trunk' into specialize-separately 2020-06-13 23:54:30 -04:00
Richard Feldman
269da82840 Make VarStore no longer use atomics 2020-06-13 21:59:01 -04:00
Richard Feldman
245a9fc951 Merge remote-tracking branch 'origin/trunk' into specialize-separately 2020-06-13 21:03:38 -04:00
Richard Feldman
a4338f0406 Remove lots of unnecessary clones (thanks clippy!) 2020-06-07 15:43:07 -04:00
Richard Feldman
0a9989e75f wip 2020-06-06 23:41:12 -04:00
Richard Feldman
887ec9860a wip 2020-05-26 21:19:46 -04:00
Richard Feldman
c47dc57fc2 Appease clippy 2020-05-26 00:41:57 -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
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