Commit graph

4184 commits

Author SHA1 Message Date
Basile Henry
9a2afbb09b gen_dev: Implement builtins Num.isNan, Num.isFinite, Num.isInfinite 2023-05-03 11:12:01 +01:00
Basile Henry
d8b658da5d gen_dev: Add is_nan_freg_reg64 2023-05-03 11:12:01 +01:00
Basile Henry
1391920d0e gen_dev: Add MOVQ/MOVD to x86 backend 2023-05-03 11:12:01 +01:00
Basile Henry
b8aaaaabda Implement builtins for Num.isNan, Num.isInfinite, and Num.isFinite
Closes #5310 and closes #5309
2023-05-03 09:33:28 +01:00
Folkert
8963cc9d45
sublist tests now work 2023-05-03 01:09:28 +02:00
Folkert
47e99a226d
enable more tests after bugfix 2023-05-03 01:06:14 +02:00
Folkert
05a9b4d601
fix that inc on list was no longer recursive 2023-05-03 01:03:09 +02:00
Ayaz Hafiz
df3bd79d4a
Simplify occurs check for aliases 2023-05-02 17:00:58 -05:00
Ayaz Hafiz
8ca1e6c866
Correct occurs cycle under alias argument but not alias real var
At times we can have alias arguments that are recursive in their
position, but whose recursiveness is not immediately visible in the real
var.

Closes #5330
2023-05-02 17:00:58 -05:00
Ayaz Hafiz
8dc86a81b8
Rename ROC_VERIFY_OCCURS_RECURSION flag 2023-05-02 17:00:58 -05:00
Ayaz Hafiz
5815807927
seen_recursion_pair is immutable 2023-05-02 17:00:58 -05:00
Ayaz
4824de5192
Merge pull request #5363 from roc-lang/i5344
Correctly include flex vars in generalization group of rec defs
2023-05-02 16:44:29 -05:00
Folkert
dc77c702c5
enable more tests 2023-05-02 23:39:00 +02:00
Folkert
d6885ec17a
implement List.dropAt 2023-05-02 23:30:06 +02:00
Folkert
a48618e34a
List.releaseExcessCapacity 2023-05-02 23:00:07 +02:00
Ayaz
7897495ee2
Update gen_primitives.rs
Signed-off-by: Ayaz <20735482+ayazhafiz@users.noreply.github.com>
2023-05-02 15:40:45 -05:00
Folkert
4e29652f0d
enable many more tests 2023-05-02 22:31:58 +02:00
Folkert
cb4b726c7e
don't refcount the empty tag union 2023-05-02 22:31:57 +02:00
Folkert
fb123b8990
lambda set unwrapping 2023-05-02 22:31:57 +02:00
Folkert
0fa85fe91d
don't copy zero-sized types to the stack 2023-05-02 22:31:57 +02:00
Folkert
35c507a33f
array literal arg loading was moved 2023-05-02 22:31:56 +02:00
Folkert
4ec99764cb
an implementation of sublist that segfaults (sometimes) 2023-05-02 22:31:56 +02:00
Folkert
f383ff14f8
helper for generating dec functions 2023-05-02 22:31:56 +02:00
Folkert
13e52844c7
implement ForeignCall function calls 2023-05-02 22:31:55 +02:00
Folkert
ac64e4ab87
fix for re-used DEV_TMP symbol 2023-05-02 22:31:55 +02:00
Folkert
ce36069d57
thread layout_ids through for future inc/dec function codegen 2023-05-02 22:31:55 +02:00
Folkert
9e8854614a
fix reading float from a pointer 2023-05-02 22:31:54 +02:00
Folkert
e4b0d77f2e
pass floats independently of general registers 2023-05-02 22:31:54 +02:00
Folkert
cd8c865a66
List.reverse 2023-05-02 22:31:54 +02:00
Folkert
1b5d88b002
literal helpers 2023-05-02 22:31:53 +02:00
Folkert
668e3e3151
add List.subList 2023-05-02 22:31:52 +02:00
Folkert
29bc9a2e85
short-circuit loading field from size 0 struct 2023-05-02 22:31:52 +02:00
Folkert
37eec2b7c2
allow configure of whether roc_alloc is generated 2023-05-02 22:31:49 +02: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
155375062a
Fmt 2023-05-02 10:52:49 -05:00
Ayaz
19c04c69c0
Merge branch 'main' into i5318
Signed-off-by: Ayaz <20735482+ayazhafiz@users.noreply.github.com>
2023-05-01 18:47:56 -05:00
Ayaz
12b2f7e00b
Merge pull request #5317 from roc-lang/i4770
Various bug fixes to generalization and solving of recursion
2023-05-01 18:14:00 -05:00
Ayaz Hafiz
a9975b1f7f
Crash at runtime rather than panicking when if condition is erroneous
Closes #5318
2023-05-01 15:48:05 -05:00
Ayaz Hafiz
bdba56ce74
New IR just dropped 2023-05-01 15:11:37 -05:00
Ayaz
cdf8677dfb
Merge pull request #5287 from roc-lang/i5236
Catch non-recursive function arity mismatches during typechecking
2023-05-01 14:46:20 -05:00
Ayaz Hafiz
561a9e0037
Mark ignored test 2023-05-01 13:15:32 -05:00
Ayaz Hafiz
1916a6dba5
Add mono test for #4770
Closes #4770
2023-05-01 13:14:59 -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
Folkert
6594fc0a90
fully implement our crude memcpy 2023-05-01 18:41:51 +02:00
Folkert
fa5b18685a
re-use proc's symbol 2023-05-01 18:41:50 +02:00
Folkert
9f8077c3a3
allow no_data return value 2023-05-01 18:41:50 +02:00