Commit graph

3127 commits

Author SHA1 Message Date
Richard Feldman
d57cb50425
Merge pull request #4909 from roc-lang/list-concat-check-capacity
use capacity instead of length in list deinit
2023-01-20 18:21:17 -05:00
Folkert de Vries
04449c3a0c
Merge pull request #4910 from roc-lang/weakening-6
Add some regression tests for problems weakening solves
2023-01-21 00:14:49 +01:00
Folkert
4e5b106f98
use capacity instead of length in list deinit 2023-01-20 21:44:41 +01:00
Ayaz
c85df2ef48
Merge pull request #4908 from roc-lang/str-trim-capacity
fix memory leak in string trimming
2023-01-20 13:18:44 -06:00
Ayaz
78fc30484e
Merge pull request #4903 from joshuawarner32/fix-nested_backpassing_no_newline_before
Fix formatting of backpassing in a nested def with no newline
2023-01-19 22:55:03 -06:00
Ahmad Sattar
be445f6f11
Enable more List.len tests for gen-dev 2023-01-20 00:45:38 +01:00
Folkert de Vries
810e05cd9a
Merge pull request #4922 from thehabbos007/asa/numgt
gen_dev: fix signed/unsigned `less than` and add signed/unsigned `greater than`
2023-01-19 20:49:06 +01:00
Folkert
165d4b3450
fix memory leak in string trimming 2023-01-19 14:35:38 +01:00
Ahmad Sattar
bbd4c9886c
Add NumSubWrap as a NumSub copy 2023-01-19 09:19:20 +01:00
Ayaz Hafiz
52063b2df2
Add test to regression-test over-specialization as in #4717 2023-01-18 18:11:59 -06:00
Ayaz Hafiz
9a4e4f25c2
Add regression tests for #4772
Closes #4772
2023-01-18 18:11:57 -06:00
Ahmad Sattar
6670a5d205
Add greater than comparison 2023-01-18 20:26:45 +01:00
Ahmad Sattar
3683e9d436
Fix up less than comparison 2023-01-18 20:26:45 +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
Joshua Warner
d876abb04b
Fix formatting of backpassing in a nested def with no newline
Fixes #4338
2023-01-16 09:31:08 -08: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