Commit Graph

110 Commits

Author SHA1 Message Date
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