Commit graph

4457 commits

Author SHA1 Message Date
Ayaz Hafiz
c09a33f9f4
Inline RocStructType back in 2023-06-16 10:30:41 -05:00
Ayaz Hafiz
7b1dc7eff0
Update test function catcher to take records by reference 2023-06-16 10:30:40 -05:00
Ayaz Hafiz
de44e90fda
Add Layout::STR_PTR 2023-06-16 10:30:40 -05:00
Ayaz Hafiz
00945ff2eb
Always print llvm on failure 2023-06-16 10:30:40 -05:00
Ayaz Hafiz
b24a907662
Consistent wrapper result 2023-06-16 10:30:40 -05:00
Ayaz Hafiz
2d91225b01
Fix wrapper result type 2023-06-16 10:30:40 -05:00
Ayaz Hafiz
8070736cc7
Simplify construction of RocReturn 2023-06-16 10:30:40 -05:00
Ayaz Hafiz
9bf5f250f6
Get struct by pointer 2023-06-16 10:30:40 -05:00
Ayaz Hafiz
47fb9fe6f2
Implement struct-by-reference for structs over 4 machine words 2023-06-16 10:30:40 -05:00
Ayaz Hafiz
e1c874ac23
More larger stack 2023-06-16 10:30:39 -05:00
Ayaz Hafiz
cc2599b473
Use larger stack for abilities test 2023-06-16 10:30:39 -05:00
Ayaz Hafiz
e1f8d68055
Make loading from struct a method 2023-06-16 10:30:39 -05:00
Ayaz Hafiz
bb3cfb9cd3
Break up arguments of insert 2023-06-16 10:30:39 -05:00
Ayaz Hafiz
c57d254205
No need for extra qualifier 2023-06-16 10:30:39 -05:00
Ayaz Hafiz
4d65db22d2
Remove scope.get 2023-06-16 10:30:39 -05:00
Ayaz Hafiz
bbef63f28f
Move load_symbol_and_layout to scope 2023-06-16 10:30:39 -05:00
Ayaz Hafiz
6e23365551
Move load_symbol to scope 2023-06-16 10:30:38 -05:00
Ayaz Hafiz
8d3d4ed9d8
Move LLVM scope ops to a separate module 2023-06-16 10:30:38 -05:00
Ayaz Hafiz
470ed119c2
Move roc struct operations to a new "struct" module 2023-06-16 10:30:38 -05:00
Folkert de Vries
1646dc4e73
Merge pull request #5551 from roc-lang/i5476
Support fixpoint-fixing under recursion variables
2023-06-14 18:33:42 +02:00
Folkert de Vries
1ba7b069ea
Merge pull request #5550 from roc-lang/i5479
Use correct variable when compiling dbg continuation
2023-06-14 18:32:52 +02:00
Anton-4
c8ebe9071c
Box.roc documentation
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2023-06-14 11:09:37 +02: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
Ayaz Hafiz
c91b82198d
Use correct variable when compiling dbg continuation
Closes #5479
2023-06-13 16:45:02 -05:00
Folkert de Vries
b3c598fcf6
Merge pull request #5539 from roc-lang/dev-gen-primitives
dev backend: de-duplicate function names based on the lambda set
2023-06-13 22:13:34 +02:00
Ayaz
c907b12cf0
Merge pull request #5548 from JTeeuwissen/fix-oc-test-panics-after-roc-check-said-zero-errors,-zero-warnings
Index array symbols unknown symbols
2023-06-13 13:44:12 -05:00
Folkert de Vries
79e9ba3dd1
Merge pull request #5529 from JTeeuwissen/joinpoint-specialisation
Joinpoint specialisation
2023-06-13 18:42:02 +02:00
J.Teeuwissen
5d66ae4295
removed target info 2023-06-13 17:15:04 +02:00
J.Teeuwissen
36abaec07d
Index array symbols unknown symbols 2023-06-13 15:56:55 +02:00
Richard Feldman
f431a2c576
Merge pull request #5534 from fdbeirao/add-min-max
Add Num.min and Num.max
2023-06-11 11:28:17 -04:00
Folkert
2eaf158053
fix register not cleared before reading bool 2023-06-11 15:29:20 +02:00
Folkert
cb5241380f
enable more dev backend tests 2023-06-11 13:39:44 +02:00
Folkert
59da1ea891
consistently name function symbols
previously the dev backend did not take into account lambda name information to generate function names. This could cause the same function name to be defined twice
2023-06-11 13:39:43 +02:00
Folkert
58c6c664fd
pass LambdaName down for builtin functions 2023-06-11 13:39:43 +02:00
Folkert
b048cb38a6
take lambda name into account when generating function id in dev backend 2023-06-11 13:39:43 +02:00
Folkert
728f982aa5
dev backend NumCompare 2023-06-11 13:39:42 +02:00
Folkert
ed3551a14c
make more mono tests use larger stack 2023-06-10 23:58:42 +02:00
Folkert
92194be436
use retain to save on some allocations 2023-06-10 23:55:15 +02:00
J.Teeuwissen
86797a9515
typo 2023-06-10 23:55:14 +02:00
J.Teeuwissen
fbf3faeaf1
Simplified logic 2023-06-10 23:55:14 +02:00
J.Teeuwissen
46bff75517
progress 2023-06-10 23:55:09 +02:00
J.Teeuwissen
d735742fdb
used resulting incremented_symbols 2023-06-10 23:54:00 +02:00
J.Teeuwissen
94fb89bde4
Start drop specialisation for joinpoints 2023-06-10 23:53:19 +02:00
Tero Laxström
f0741ca5d2
Formatting all code with cargo fmt --all 2023-06-10 18:29:17 +03:00
Tero Laxström
fcbe177c07
Move old num_mul to num_mul_wrap and use that from num_mul 2023-06-10 15:36:29 +03:00
Fábio Beirão
91580b62cd
Adjust the tests to use i64 instead o i8
For some reason with i8, wasm would error with "ERROR: I found a type mismatch at file offset 0x3aa5. Expected I32, but found I64."
2023-06-09 19:52:19 +02:00
Fábio Beirão
250c50e018
Update the test_mono/generated folder 2023-06-09 18:09:37 +02:00
Fábio Beirão
d7f03a680e
Run roc format on builtins
Contributes to #5533
2023-06-09 16:07:14 +02:00
Fábio Beirão
ec94fc87a5
Add Num.min and Num.max
Implements #5533
2023-06-09 14:17:54 +02:00
Folkert de Vries
2faa0e4c5b
Merge pull request #5499 from roc-lang/dev-backend-recursive-tag-unions
Dev backend recursive tag unions
2023-06-09 14:02:37 +02:00