Folkert de Vries
5f5e86a67a
Merge branch 'trunk' into wasm-link-builtins
2021-11-09 17:12:58 +01:00
Brian Carroll
4948cee360
Fix clippy warnings
2021-11-09 15:49:08 +00:00
Joshua Warner
6d4f3f4da7
Allow parsing a single newline/comment in empty list
2021-11-09 07:33:36 -08:00
Brian Carroll
8392431bd8
Enable a few more tests for gen_wasm
2021-11-09 15:20:55 +00:00
Folkert
94efbd0e95
Merge remote-tracking branch 'origin/trunk' into builtins-list-take-last
2021-11-09 16:18:19 +01:00
Brian Carroll
d0f1698db2
Merge branch 'trunk' of github.com:rtfeldman/roc into wasm-link-builtins
2021-11-09 15:08:43 +00:00
Brian Carroll
d0ffaabe83
Re-index all internal functions to make room for imported external functions
...
Linked external functions must be declared in the Import section,
and they must come first in the function index space.
In other words, internal function numbers start at the number of imports.
However we don't know in advance how many builtins the code may call,
and we don't want to add more passes over the full IR. Instead we re-index
function references at the end of code generation.
2021-11-09 14:50:53 +00:00
Brian Carroll
141480aa8d
Remove unused dependencies from test_wasm
2021-11-09 14:43:54 +00:00
Brian Carroll
9e6147a9de
Add Debug implementations for sections
2021-11-09 14:28:15 +00:00
Brian Carroll
a61987e032
Rename CodeBuilder::finalize -> CodeBuilder::build_fn_header
...
We actually have a few more steps to go after this one!
2021-11-09 14:28:15 +00:00
Brian Carroll
c7baaceae9
Fix dependencies
2021-11-09 14:28:15 +00:00
Brian Carroll
1b5740cd5d
Tidy up lowlevel calls and implement a few more
2021-11-09 14:28:15 +00:00
satotake
dfc527ecff
Merge branch 'trunk' into builtins-list-take-last
2021-11-09 12:34:58 +00:00
satotake
772fc9c021
Implement List.takeLast
2021-11-09 12:26:17 +00:00
Folkert
960733c605
Merge remote-tracking branch 'origin/trunk' into builtin/List.find
2021-11-09 13:07:47 +01:00
Folkert
af8ee4b7bb
add cargo aliases for convenient test running
2021-11-09 12:27:28 +01:00
Brendan Hansknecht
1028e1593a
Fix unused import
2021-11-08 19:49:33 -08:00
Brendan Hansknecht
7017131bae
remove test_wasm_util
2021-11-08 19:35:36 -08:00
Brendan Hansknecht
491ec60b90
update gen-dev readme
2021-11-08 19:35:13 -08:00
Brendan Hansknecht
360974398a
Merge test_dev, test_wasm, and test_wasm_util into test_gen
2021-11-08 19:31:20 -08:00
ayazhafiz
9e50580715
Walk the input list during List.find alias analysis
2021-11-08 22:00:03 -05:00
ayazhafiz
074c2ca398
Remove stale DICT_TEST_HASH reference
2021-11-08 21:04:59 -05:00
ayazhafiz
75b439cb31
Remove unnecessary clone
2021-11-08 21:03:15 -05:00
ayazhafiz
731f7a11a1
Remove unused variable
2021-11-08 21:03:15 -05:00
ayazhafiz
f65b174ab5
Implement List.find
...
`List.find : List elem, (elem -> Bool) -> Result elem [ NotFound ]*`
behaves as follows:
```
>>> List.find [1, 2, 3] (\n -> n > 2)
Ok 2
>>> List.find [1, 2, 3] (\n -> n > 4)
Err NotFound
```
We implement this as builtin in two phases. First, we call out to a
pure-llvm-lowlevel `ListFindUnsafe` that returns a record indicating
whether a satisfying element was found, and the value of that element
(the value is all null bytes if the element wasn't found). Then, we lift
that record to a `Result` via a standard construction of the can AST.
Closes #1909
2021-11-08 21:03:14 -05:00
Folkert
7ff4ad6f7b
fix merge conflict
2021-11-08 23:57:56 +01:00
Folkert
a9d483cb60
Merge remote-tracking branch 'origin/trunk' into tag-union-imitate-rust
2021-11-08 22:31:17 +01:00
Folkert
8266284567
clippy
2021-11-08 22:31:08 +01:00
Brian Carroll
5bfc0093ec
Intitialise CodeSection with just the right capacity
2021-11-08 14:59:49 +00:00
satotake
9087bf7273
Merge branch 'trunk' into builtsins-list-take-first
2021-11-08 14:32:36 +00:00
satotake
d0b09e1922
cleanup unused args
2021-11-08 14:31:34 +00:00
satotake
878400f95f
Implement List.takeFirst
2021-11-08 14:10:53 +00:00
satotake
97c82d8d51
pick 02acef6
2021-11-08 11:15:20 +00:00
satotake
b8340b47c6
checkout trunk
2021-11-08 11:13:17 +00:00
satotake
c8f7a98d74
Merge branch 'trunk' into remove-dict-hash-test-only
2021-11-08 11:12:31 +00:00
Brendan Hansknecht
820ba8f5f6
fix formating and add new lock files
2021-11-07 20:20:01 -08:00
Brendan Hansknecht
bfdd454afa
Remove unused dependency
2021-11-07 18:27:28 -08:00
Brendan Hansknecht
2ce945771e
Make test crates only have dev dependencies and separate out wasm memory helper
2021-11-07 18:01:40 -08:00
Brendan Hansknecht
89781ec50d
Stop building test crates as part of non-test builds
2021-11-07 16:28:17 -08:00
Richard Feldman
77a189d94f
Merge branch 'trunk' into move-wasmer-to-test-dependency
2021-11-07 23:52:20 +00:00
Richard Feldman
79080fb3f2
Merge pull request #1907 from rtfeldman/cleanup-zig-artifact-gen
...
generate wasm32 object file containing the builtins
2021-11-07 23:43:47 +00:00
Richard Feldman
0a347456ef
Merge pull request #1903 from rtfeldman/fix-str-from-int
...
Implement Str.fromInt for any integer type
2021-11-07 23:42:59 +00:00
Brian Carroll
ce9658684a
Move wasmer dependency from gen_wasm to test_wasm
2021-11-07 22:56:28 +00:00
Folkert
e7ec575a81
trying to track down uninitialized memory creation
2021-11-07 21:41:12 +01:00
Brian Carroll
3ce94f8939
Merge branch 'trunk' into cleanup-zig-artifact-gen
2021-11-07 20:19:15 +00:00
Kevin Sjöberg
d6e98c08ec
Increment the counter if data is owned
2021-11-07 20:50:29 +01:00
Kevin Sjöberg
87894578cf
Remove alignment parameter
2021-11-07 20:48:09 +01:00
Kevin Sjöberg
dfe3f045bd
Ignore broken test case for now
2021-11-07 20:48:09 +01:00
Kevin Sjöberg
5e1a9832cb
Return false in case of empty list
2021-11-07 20:47:09 +01:00
Kevin Sjöberg
44938a9e35
Implement List.any
2021-11-07 20:44:10 +01:00