Commit Graph

22637 Commits

Author SHA1 Message Date
Brian Carroll
80f799cf70
virtual-dom: test for diff function 2022-12-30 15:33:53 +00: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
5ae5a6454f
Merge pull request #4837 from roc-lang/josh-recursive-union-bug
Correct pattern matching of nullable wrapped tag unions
2022-12-29 17:21:05 -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
c51f6c4a57
Merge pull request #4832 from roc-lang/turn-off-debug-assert-layout]
Turn off false-positive producing debug assert for now
2022-12-28 18:54:47 -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