Ayaz Hafiz
dac4d842d8
Fix types
2023-07-17 09:52:14 -05:00
Ayaz Hafiz
a2574a5a98
Update vars
2023-07-12 17:01:31 -05:00
Ayaz Hafiz
937e042c8f
Fixed erased with nullable unwrapped union
2023-07-12 16:01:44 -05:00
Ayaz Hafiz
5e9a06e537
Boxed helpers
2023-07-12 15:55:25 -05:00
Ayaz Hafiz
8d9c6d09b9
Load as a stack pointer
2023-07-12 14:46:11 -05:00
Ayaz Hafiz
fde75d5432
Correct calling branches
2023-07-12 14:45:03 -05:00
Ayaz Hafiz
fcb907b0c9
Don't pass empty captures
2023-07-12 14:45:02 -05:00
Ayaz Hafiz
cd64134b0a
Allow direct packing, unpacking of erased types
2023-07-12 14:43:25 -05:00
Ayaz Hafiz
dc56a0ffef
First pass update erasure IR
2023-07-12 14:43:24 -05:00
Ayaz Hafiz
b2d3b52bd5
First compile of erased lambdas
2023-07-12 14:21:28 -05:00
Ayaz Hafiz
a9e3f967a8
First pass at erased function layouts
2023-07-12 13:57:19 -05:00
Ayaz Hafiz
6e5a308557
Content variant ErasedLambda
2023-07-12 13:57:17 -05:00
Ayaz Hafiz
c459757062
Thread simple model of "ErasedLambdas" through proc layouts
...
But none of these paths are yet exercised.
2023-07-12 13:53:52 -05:00
Ayaz Hafiz
6eae480e36
Check in first erasure test
2023-07-12 13:53:52 -05:00
Ayaz Hafiz
6014370b91
Initial support for erasure in tests
2023-07-12 13:53:51 -05:00
Ayaz Hafiz
44c4797d9a
Parameterize program solving on a FunctionKind
...
This new flag determines whether we should introduce a new kind to
represent lambda sets, or whether lambdas should be erased. The latter
is not yet implemented.
2023-07-12 13:53:50 -05:00
Folkert
ef39bad7c6
auto clippy fixes
2023-07-10 18:27:08 +02:00
Richard Feldman
f12b378249
cargo uitest
2023-06-27 16:20:27 -04:00
Ayaz Hafiz
49a92e5ef1
Support fixpoint-fixing under recursion variables
...
Sometimes, we might need to fixpoint-fix a unification like
[ Bar [ Bar <a>, Foo ], Foo ] as <a> 🛠️ [ Bar <b>, Foo ] as <b>
where we hit a comparison between <a> and <b>. In this case, follow each
recursion point independently and see if we can find the chain to the needle
we were searching for.
Closes #5476
2023-06-13 17:15:11 -05:00
Luke Boswell
4bb0f4c2d0
update uitest failure
2023-06-08 19:34:52 +10:00
J.Teeuwissen
93ea086115
Merge branch 'main' into record-update-index-top
2023-05-30 10:47:19 +02:00
J.Teeuwissen
576558b9d0
update test
2023-05-28 09:44:27 +02:00
Ayaz
62cdceabd6
Merge pull request #5457 from roc-lang/tuple-aliases
...
Add test for tuple annotations
2023-05-26 17:28:56 -05:00
Ayaz Hafiz
52a719bc18
Add test for tuple annotations
...
Closes #5447
2023-05-26 12:14:41 -05:00
Ayaz Hafiz
3585d5bb5b
Implement hash for Dec
2023-05-26 11:38:30 -05:00
Brendan Hansknecht
0c13564ad7
update mono and uitests
2023-05-25 11:01:14 -07:00
Brendan Hansknecht
8ecbd8c071
Merge pull request #5438 from roc-lang/dict-set-hash-eq
...
add Hash and Eq to Dict and Set
2023-05-25 00:38:20 +00:00
Brendan Hansknecht
b8f0c214c2
update uitest
2023-05-24 12:46:16 -07:00
Ayaz Hafiz
cc47635634
Add open union under tuple test
2023-05-24 13:12:47 -05:00
Ayaz Hafiz
815ae5df9d
Mark named destructures under records as open
2023-05-24 13:12:41 -05:00
Luke Boswell
89f688b070
fix test reference to Json encoder
2023-05-15 21:38:18 +10:00
Ayaz Hafiz
d4fcd83ba9
Correctly include flex vars in generalization group of rec defs
...
Rather than resetting the list here, we should append to it!
Closes #5344
2023-05-02 13:18:50 -05:00
Ayaz Hafiz
d13e221678
Print variables if asked to
2023-05-02 13:08:58 -05:00
Ayaz Hafiz
238e64c0b3
Defer resolution of a recursion variable during union unification until merging
...
While unifying two unions, we may turn one of them into a recursive
union. If we don't recognize the recursiveness before merging, we'll
have lost the recursive value of the union.
2023-05-01 13:14:59 -05:00
Ayaz Hafiz
5ec2715820
Correctly introduce new recursion variables at the correct rank
2023-05-01 13:14:59 -05:00
Ayaz Hafiz
7beee4e1f3
Add a way to print ranks in uitest
2023-05-01 13:14:59 -05:00
Ayaz Hafiz
190990155e
Correctly introduce new openness variables at the union rank
2023-05-01 13:14:58 -05:00
J.Teeuwissen
33b7aadd52
updated another test
2023-04-26 21:37:42 +02:00
Ayaz Hafiz
721d3836cd
Migrate even more tests
2023-04-20 16:18:23 -05:00
Ayaz Hafiz
7c14b78e5d
Migrate more tests
2023-04-20 16:18:23 -05:00
Ayaz Hafiz
9775d4f0ca
Move uitests
2023-04-20 16:18:23 -05:00
Ayaz
77cf60b866
Merge pull request #5286 from roc-lang/i5264
...
Freshly instantiate nested recursion variables under aliases and opaques
2023-04-12 18:27:37 -05:00
Ayaz
8739099bdc
Merge pull request #5288 from roc-lang/i4725
...
Do not replace already-recursive lambda sets in occurs checks
2023-04-12 17:08:34 -05:00
Ayaz Hafiz
87a36e62bf
Do not replace already-recursive lambda sets in occurs checks
...
If a lambda set appears in an occurs chain but it is itself already
recursive, then it is should not be eligibil for modification in the
occurs chain.
Closes #4725
2023-04-12 16:13:30 -05:00
Ayaz Hafiz
d3ab9ab926
Freshly instantiate nested recursion variables under an opaque type
2023-04-12 14:31:19 -05:00
Ayaz Hafiz
3d6353dbd2
Add reproduction of recursion var instantiation under opaque that's failing
2023-04-12 14:14:11 -05:00
Ayaz Hafiz
677d19d825
Allow type error config in uitest
2023-04-12 14:04:51 -05:00
Ayaz Hafiz
f33651bf6a
Correctly instantiate recursion variables under nested aliases
...
Like we instantiate nested lambda set variables and nested OIOP
variables for aliases, we need to do the same for recursion variables.
2023-04-12 13:59:24 -05:00
Ayaz Hafiz
f2e12724d3
Add erroring reproduction of #5264
2023-04-12 13:58:13 -05:00
Ayaz Hafiz
b33393ca39
Allow configuring whether can errors are acceptable in tests
2023-04-12 13:54:26 -05:00