Ahmad Sattar
bbd4c9886c
Add NumSubWrap as a NumSub copy
2023-01-19 09:19:20 +01:00
Ayaz Hafiz
59eb980fb2
Fix gen tests
2023-01-18 10:14:19 -06:00
Ayaz Hafiz
e6ab8dcf60
Fix mono test
2023-01-18 10:06:14 -06:00
Ayaz
ed7123ed5b
Merge pull request #4887 from roc-lang/weakening-5
...
Finish weakening let-bindings
2023-01-17 12:47:12 -06:00
Ayaz
c5788e62c6
Merge branch 'main' into tag-union-ext
...
Signed-off-by: Ayaz <20735482+ayazhafiz@users.noreply.github.com>
2023-01-16 16:32:02 -06:00
Ayaz Hafiz
ff625397ed
Fix wasm sizeof
2023-01-16 14:26:50 -06:00
Ayaz Hafiz
1c8cef2547
Update mono
2023-01-16 12:46:40 -06:00
Ayaz Hafiz
ec8c6bdfc5
Add gen tests for #4734
...
Closes #4734
2023-01-16 12:45:09 -06:00
Ayaz Hafiz
011c2ffd47
Add mono tests for function-specialization information preserved in lambda sets
2023-01-16 12:45:08 -06:00
Ayaz Hafiz
3109b2b00f
Store args/return layout in the lambda set specialization layout
2023-01-16 12:45:08 -06:00
Ayaz Hafiz
237bb6bcd5
Use env when constructing lambda sets rather than clearing their envs
2023-01-16 12:45:08 -06:00
Ayaz Hafiz
81d2d2923d
Remove lambda set recursion var as appropriate after construction
2023-01-16 12:45:08 -06:00
Ayaz Hafiz
8dc2a5daa7
Store args, return type on lambda set
2023-01-16 12:45:07 -06:00
Ayaz Hafiz
56d14b8b32
Fix load tests
2023-01-16 11:17:59 -06:00
Ayaz Hafiz
20d0d62af7
Allow extending Openness constraints when doing specializations
2023-01-16 10:54:39 -06:00
Ayaz Hafiz
1d75934659
Don't match empty tag union in openness constraint
2023-01-16 10:54:39 -06:00
Ayaz Hafiz
f08a8aa8c7
Fix release build
2023-01-16 10:54:39 -06:00
Ayaz Hafiz
91d61424ad
Lints
2023-01-16 10:54:39 -06:00
Ayaz Hafiz
2f74d0b1b9
Do not permit inferred-open-in-output-position extension variables to grow
...
Closes #4852
Closes #4845
2023-01-16 10:54:38 -06:00
Ayaz Hafiz
c9460ecf3f
Rename IsImplicitOpennessVar
2023-01-16 10:52:23 -06:00
Ayaz Hafiz
5fceb9ceb7
Push implicit openness vars through
2023-01-16 10:52:23 -06:00
Ayaz Hafiz
96b2b7a0c5
Fix comment
2023-01-16 10:52:23 -06:00
Ayaz Hafiz
a47841d426
Generalize tag openness extension variables
2023-01-16 10:52:23 -06:00
Ayaz Hafiz
281b71cf94
Unification of Any and Openness tag extensions
2023-01-16 10:52:23 -06:00
Ayaz Hafiz
1c93727822
Add a notion of "openness" tag extensions suitable only for size-polymorphism
2023-01-16 10:52:23 -06:00
Ayaz Hafiz
5f5d6a42d1
Add debug assertion for shape of tag union extension variables
...
When we have a tag union type, outside of special cases in the middle of
unification, its extension type should either be (1) the closed tag
union or (2) a flex/rigid var. This adds an assertion for that.
2023-01-16 10:52:23 -06:00
Ayaz Hafiz
1c58118dc7
Strip _new from tag unification functions
2023-01-16 10:52:22 -06:00
Ayaz Hafiz
95dae5036a
Weaken top-level mutually recursive let bindings as appropriate
2023-01-16 10:49:17 -06:00
Ayaz Hafiz
a77f04cd19
Weaken mutually-recursive let bindings as appropriate
2023-01-16 10:49:17 -06:00
Ayaz Hafiz
58081ada19
Weaken aliased variable names
2023-01-16 10:49:17 -06:00
Ayaz Hafiz
c3f1646274
Weaken ability members behind let-bindings
2023-01-16 10:49:17 -06:00
Ayaz Hafiz
48049ed956
Weaken tags behind let bindings
2023-01-16 10:49:17 -06:00
Ayaz Hafiz
52c2f3a054
Weaken zero-argument tags in let bindings
2023-01-16 10:49:16 -06:00
Joshua Warner
3b51d7cd13
Fix multi-backpassing in top-level defs
...
Fixes #4821
2023-01-15 10:39:21 -08:00
Ayaz
545e6bc989
Merge pull request #4884 from joshuawarner32/fmt-fuzzing-fixes
...
Fix approximately a bajillion fmt and parsing bugs
2023-01-14 19:45:30 -06:00
Ayaz
616d699e59
Merge pull request #4894 from roc-lang/list-reserve-zst
...
handle zero-sized types in list decrement
2023-01-14 19:44:31 -06:00
Folkert de Vries
43a8d1e610
Merge pull request #4885 from roc-lang/weakening-4
...
Weakening 4
2023-01-14 17:23:40 +01:00
Folkert de Vries
9a86e7e080
Merge pull request #4896 from roc-lang/expect-crash
...
reproduce crash in `expect` with Lists of different length
2023-01-14 16:53:52 +01:00
Ayaz Hafiz
d9da945283
Allow generalization of annotations with no implementation
2023-01-14 15:33:54 +01:00
Ayaz Hafiz
beb7e79830
Print extension vars that are ability-bound
2023-01-14 15:33:54 +01:00
Ayaz Hafiz
3d0a0a4a99
Update more dict/set references
2023-01-14 15:33:54 +01:00
Ayaz Hafiz
ab796d93ff
Format
2023-01-14 15:33:54 +01:00
Ayaz Hafiz
df90baa0fc
Weaken runtime errors
2023-01-14 15:33:53 +01:00
Ayaz Hafiz
e525726be6
Weaken typed holes
2023-01-14 15:33:53 +01:00
Ayaz Hafiz
20b4f290ce
Weaken expect/dbg behind let bindings
2023-01-14 15:33:53 +01:00
Ayaz Hafiz
354765afca
Explain why opaque wrap functions need not be weakened behind lets
2023-01-14 15:33:52 +01:00
Ayaz Hafiz
6dca92e420
Weaken record updates behind let bindings
2023-01-14 15:33:52 +01:00
Ayaz Hafiz
2e36e2f418
Don't weaken accessor functions
...
Accessor functions are equivalent to closures and hence obey function
semantics, no need to weaken them
2023-01-14 15:33:52 +01:00
Ayaz Hafiz
0a9155d9d8
Weaken record accesses
2023-01-14 15:33:51 +01:00
Ayaz Hafiz
b5cce17822
Weaken crash
2023-01-14 15:33:51 +01:00