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