Folkert
8305d078a0
add as
for list rest patterns
2022-12-30 23:17:29 +01:00
Folkert
aff70bb6bd
refactor PatternAs
2022-12-30 18:22:10 +01:00
Folkert
e9196f3c0b
parse and format pattern as
2022-12-30 17:50:17 +01: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
abf248372d
Fix clippy lint
2022-12-29 12:59:01 -06:00
Ayaz Hafiz
d6669aed2e
Don't assume tag id is in the tag arguments in making decision tree
2022-12-29 12:26:13 -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
3aab378bab
Correct pattern matching of nullable wrapped tag unions
...
The nullable ID always has zero tags. For everything else, we should
just match with the arity of the number of arguments, which doesn't
include the tag ID.
2022-12-29 12:22:05 -06:00
Ayaz Hafiz
d59b137f45
Implement printing of nullable wrapped IR layouts
2022-12-29 12:17:46 -06:00
Ayaz Hafiz
58930cc96c
Correct ircheck of nullable-wrapped unions
2022-12-29 12:10:23 -06:00
Ayaz Hafiz
14ea3518dc
Unnecessary reference
2022-12-29 11:42:51 -06:00
Ayaz Hafiz
0011636ba9
Allow all the arguments
2022-12-29 11:42:24 -06:00
Folkert
0eb41ad97f
another conditional compilation fix
2022-12-29 18:42:06 +01: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
2606917d57
fix wasm executable extension
2022-12-29 17:05:46 +01:00
Ayaz Hafiz
512a1721ae
Push mutable layout interner through llvm backend
2022-12-29 10:04:43 -06:00
Folkert
6e2e5600df
conditional compilation fix
2022-12-29 16:50:22 +01: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
1a2e1aecdb
fix wasm host compilation
2022-12-29 16:50:21 +01:00
Folkert
479caaf0a9
clean up path usage
2022-12-29 16:50:21 +01:00
Folkert
356875a851
simplify host extension
2022-12-29 16:50:20 +01:00
Folkert
1995d8b3df
refactor cli/src/build.rs
2022-12-29 16:50:20 +01:00
Folkert
a2c760aa56
keep conditional compilation local
2022-12-29 16:50:20 +01:00
Folkert
26e5ac85d4
remove argument from the from_str functions
2022-12-29 16:50:19 +01:00
Folkert
e44bf59334
remove argument from load_and_monomorphize
2022-12-29 16:50:19 +01:00
Folkert
92da3973e7
remove argument from load_and_typecheck
2022-12-29 16:50:19 +01:00
Ayaz
d6c32ded7d
Merge pull request #4829 from roc-lang/fix-holl-reference-borrow
...
Collect references to functions passed to HOLLs in borrow inference
2022-12-29 09:15:26 -06:00
Ayaz Hafiz
e4b5252e51
List takes interned element
2022-12-29 08:52:37 -06: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
db86b874e1
Merge pull request #4830 from roc-lang/list-concat-memory-leak
...
fix memory leak in List.concat
2022-12-28 23:23:05 -06:00
Richard Feldman
6721e731f4
Merge pull request #4812 from roc-lang/module-header-docs
...
Module header docs
2022-12-28 21:22:53 -05:00
Ayaz Hafiz
c03c0b2978
Fix mutability lint in debug mode
2022-12-28 19:05:03 -06:00
Ayaz Hafiz
5ad796271e
Ignore unused vars
2022-12-28 18:55:24 -06:00
Ayaz Hafiz
d71d8fc795
Remove unneeded var
2022-12-28 18:54:31 -06:00
Ayaz Hafiz
62ac3545af
Avoid unneeded mut in release
2022-12-28 18:54:12 -06:00
Ayaz Hafiz
ed9804248c
Unnecessary mut ref
2022-12-28 18:52:45 -06:00
Ayaz Hafiz
1878fc1c4f
Allow too many args
2022-12-28 18:52:26 -06:00
Ayaz Hafiz
7ab7fdfa7b
Push interned layouts as mut throughout the backend, and intern box layouts
2022-12-28 18:51:26 -06:00
Ayaz Hafiz
dd6a72fc46
Update mono tests
...
These have changed because of how interned layouts are now sorted.
2022-12-28 18:50:50 -06:00
Folkert
05e23f8c5c
decref owned but empty list in List.concat
2022-12-29 00:13:24 +01:00
Ayaz Hafiz
1aa89fc567
Remove dead code
2022-12-28 17:08:05 -06:00
Ayaz Hafiz
58a28bb7b8
Intern unwrapped capture layout
2022-12-28 17:06:44 -06:00
Ayaz Hafiz
7045001f64
Intern captures layouts
2022-12-28 17:05:04 -06:00
Ayaz Hafiz
db547a600a
Turn off false-positive producing debug assert for now
...
See #4831
2022-12-28 16:31:25 -06:00
Ayaz Hafiz
2f7c4b4083
Macro to recruse when resolving recursive layouts
2022-12-28 16:01:01 -06:00
Folkert
2dfa7d6ef1
fix memory leak in List.concat
2022-12-28 22:52:32 +01:00