Commit graph

771 commits

Author SHA1 Message Date
Ayaz Hafiz
36f8ed6478
Rip out polymorphic expression compilation
We no longer need this except for number literals, which are simple to
handle.
2023-01-21 12:37:09 -06:00
Ahmad Sattar
312997f1c6
Add List.withCapacity implementation for x86
Uses the zig builtin `listWithCapacity`
2023-01-21 15:57:10 +01: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
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
Ahmad Sattar
bbd4c9886c
Add NumSubWrap as a NumSub copy 2023-01-19 09:19:20 +01: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
ed7123ed5b
Merge pull request #4887 from roc-lang/weakening-5
Finish weakening let-bindings
2023-01-17 12:47:12 -06:00
Ayaz Hafiz
ec8c6bdfc5
Add gen tests for #4734
Closes #4734
2023-01-16 12:45:09 -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
58081ada19
Weaken aliased variable names 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
Ayaz Hafiz
3d0a0a4a99
Update more dict/set references 2023-01-14 15:33:54 +01:00
Folkert de Vries
e3a213c0dc
Merge pull request #4882 from roc-lang/weakening-3
Begin weakening let-bindings to non-function, non-number expressions
2023-01-14 15:32:27 +01:00
Richard Feldman
41a7304e77
Merge pull request #4854 from roc-lang/intern-layouts-6
Intern all the layouts
2023-01-12 15:45:14 -05:00
Ayaz Hafiz
04cf7e070d
Weaken let-bindings to if expressions 2023-01-12 10:02:21 -06:00
Ayaz Hafiz
39b6a509eb
Fix gen test with list 2023-01-12 10:02:21 -06:00
Ayaz Hafiz
b2cdddbdfb
Weaken lists 2023-01-12 10:02:20 -06:00
Ayaz Hafiz
d4b60052b0
Update gen wasm tests 2023-01-11 14:39:11 -06:00
Ayaz Hafiz
52c16d2f35
Fix layout ref in gen tags 2023-01-11 14:39:11 -06:00
Ayaz Hafiz
e14a0abb99
Store target info on layout interners 2023-01-11 14:32:16 -06:00
Folkert
cf15654ee5
implement standard as patterns in mono IR 2023-01-11 14:18:13 +01:00
Ayaz Hafiz
066bc7d953
Make sure to bump index of nullable-wrapped tag indices after null variants
Fixes a bug in ref-counting.
2023-01-10 10:01:50 -06:00
Ayaz Hafiz
b2688dd3b1
Skip nullable ID in nullable wrapped tags when iterating 2023-01-09 11:54:51 -06:00
Ayaz Hafiz
ec7ee375d3
Fix import in wasm gen 2022-12-29 18:45:01 -06:00
Ayaz Hafiz
321ac0b06f
s/CapturesNiche/Captures 2022-12-29 18:43:45 -06:00
Ayaz Hafiz
972046445b
Lift Niche from just captures-niche to generic niche 2022-12-29 18:43:26 -06:00
Ayaz
ea53a50447
Merge pull request #4836 from roc-lang/intern-layouts-2
Intern list element layouts and thread mut layout interner through LLVM backend
2022-12-29 18:41:35 -06:00
Ayaz
7076c889a5
Merge pull request #4828 from roc-lang/refactor-build
Refactor build
2022-12-29 18:41:22 -06:00
Ayaz
858670fac7
Merge pull request #4833 from roc-lang/intern-layouts
Intern all the layouts
2022-12-29 18:28:44 -06:00
Ayaz Hafiz
a9b02aed5e
Add gen test for nullable wrapped with singleton other tags 2022-12-29 12:22:50 -06:00
Ayaz Hafiz
759f8d86af
Fix lifetime errors due to interner
In the llvm backend, there are the lifetimes `'a` (lifetime of the
global arena) and `'ctx` (lifetime of constructed LLVM values). `'a`
lives longer than `'ctx`, but the compiler didn't enforce this until
the layout interner was introduced, for some reason. We have to make
sure that containers of lifetime `'a` have no `'ctx` references.
2022-12-29 11:38:34 -06:00
Folkert
aca8d98ad9
fix dev test compilation 2022-12-29 16:50:22 +01:00
Folkert
23b52894cc
fix test 2022-12-29 16:50:21 +01:00
Folkert
26e5ac85d4
remove argument from the from_str functions 2022-12-29 16:50:19 +01:00
Ayaz Hafiz
f2a42affd1
Fix wasm module 2022-12-29 08:18:06 -06:00
Ayaz Hafiz
650d3e6321
Fix gen dev 2022-12-29 08:14:35 -06:00
Ayaz Hafiz
fbfc429bc5
Add gen-test for #4732 2022-12-25 16:55:59 -06:00
Folkert
acf22ebf7e
fix 32-bit wasm to num conversion 2022-12-20 16:34:24 +01:00
Brian Carroll
4d5b7f8b73
wasm_interp: add a WasmModule to Instance so we don't have to pass it to call_export 2022-12-16 14:52:10 +00:00
Brian Carroll
86a82f8576
test_gen: disable roc_wasm_interp logging 2022-12-16 14:52:10 +00:00
Brian Carroll
b73e022336
test_gen: update WasiDispatcher 2022-12-16 14:52:10 +00:00
Brian Carroll
d389601035
Merge branch 'main' of github.com:roc-lang/roc into wasm_interp_test_gen 2022-12-16 14:50:09 +00:00
Ayaz Hafiz
c327189ab7
Remove unneeded whitespace 2022-12-14 17:14:44 -06:00
Ayaz Hafiz
f08d9c9173
Add gen test for other #4733 reproducer 2022-12-14 17:13:58 -06:00
Ayaz Hafiz
1727a9a123
Add gen test for #4733 2022-12-14 17:13:44 -06:00
Ayaz
9b4e30a903
Merge pull request #4745 from roc-lang/i4712
Ensure that disjoint nested lambda sets force parents to be disjoint
2022-12-14 14:55:25 -06:00