Commit graph

190 commits

Author SHA1 Message Date
Richard Feldman
ccbd6ad593
Merge pull request #4838 from roc-lang/more-str-docs
Minor `Str` improvements
2022-12-31 01:58:50 -05:00
Richard Feldman
d4baf0ab37
Rename a constant 2022-12-29 20:48:30 -05:00
Ayaz Hafiz
972046445b
Lift Niche from just captures-niche to generic niche 2022-12-29 18:43:26 -06:00
Ayaz Hafiz
e4b5252e51
List takes interned element 2022-12-29 08:52:37 -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
Folkert
4ef541395a
remove dbg lowlevel 2022-12-22 02:45:09 +01: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
Folkert
d287eafa3a
remove F128 2022-12-14 23:28:38 +01:00
Brian Carroll
74bb8cc843
gen_wasm: fix type error in i64 shift operators 2022-12-14 08:42:01 +00:00
Ayaz Hafiz
ea386bf0af
Dont remove stmt_error 2022-11-24 14:46:54 -06:00
Folkert
e7f3c6f281
inline dbg 2022-11-23 21:23:28 +01:00
Brian Carroll
63d9187343
move wasm_module out of gen_wasm 2022-11-13 09:03:08 +00:00
Prajwal S N
df7e4eea7e
builtin(str): implement Str.graphemes
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2022-10-22 19:29:49 -07:00
Ayaz
83b64c4fb3
Merge pull request #4209 from roc-lang/impl-tag-discriminant
Derive `Hash` implementations for tag unions
2022-10-10 22:23:05 -05:00
Prajwal S N
9013e4ce11
builtin(str): implement withCapacity
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2022-10-08 00:24:46 +05:30
Ayaz Hafiz
792afe5457
Remove TagDiscriminant low-level 2022-10-05 13:00:45 -05:00
Ayaz Hafiz
c7bd4e1c1c
Support upcasting bools to ints in the wasm backend 2022-10-04 18:55:45 -05:00
Ayaz Hafiz
fd54cdfdd1
Low-level to extract discriminant from a tag union 2022-10-04 16:17:05 -05:00
Ayaz Hafiz
29991654db
Make sure conversion of signed ints before shift applies to the shifted number 2022-10-04 14:23:53 -05:00
Ayaz Hafiz
3b4b1838b8
Push layout interner further through Layout 2022-08-31 14:33:52 -05:00
Ayaz Hafiz
ed04c2040a
Push the layout interner through the backends 2022-08-31 14:33:52 -05:00
Folkert de Vries
51d5aa789a
Merge pull request #3870 from roc-lang/dev-backend-div
add int/float division to the dev backend
2022-08-25 09:03:19 +02:00
Folkert
2d366acc6e
split out int and frac division into separate lowlevels 2022-08-23 11:07:38 +02:00
kilianv
731f10981e Swap the argument order in bitwise shift operators
The arguments were probably swapped in the first place because in Elm
they are swapped, because Elm is curried. The new order makes more sense
both with and without the pipe operator
2022-08-20 20:33:10 +02:00
Ayaz Hafiz
b7c799702f
wasm: store closure data passed to higher-order low-level in struct, not box 2022-08-19 22:16:47 -05:00
Ayaz Hafiz
f08fc43210
Remove unneeded clone 2022-08-19 22:16:42 -05:00
Ayaz Hafiz
15ef517cf2
gen-wasm: box captured data before passing it to a higher-order lowlevel
Previously, when it existed, captured data would always be represented
as a struct, and hence implicitly boxed. That meant that passing
captured data would always pass a pointer. However, now, captured data
can live unwrapped. This poses a challenge for the higher-order
lowlevels, which always expect captures data to be passed as an opaque
pointer. As such, always box captured data.

It's possible to optimize this so that only unwrapped captures data
needs to be boxed; however, that is not attempted in this patch.
2022-08-19 22:16:41 -05:00
Ayaz Hafiz
0606086eb6
Compare values with runtime representation 2022-08-19 22:16:41 -05:00
Richard Feldman
97e2900bf5
s/rtfeldman/roc-lang/g in links to GitHub repos 2022-08-12 15:24:09 -04:00
Brian Carroll
50326f7e0b
Merge branch 'trunk' of github.com:rtfeldman/roc into wasm-code-gen-fixes-i3448 2022-08-06 10:12:24 +01:00
Brian Carroll
e71a6da62d
wasm: fix refcount bug in higher order low-levels 2022-08-05 09:51:51 +01:00
Brian Carroll
85e5d11db4
wasm: fix List.getUnsafe trying to load a symbol before it was stored 2022-08-04 12:27:46 +01:00
Brian Carroll
0041d4f3bc
wasm: Fix shiftRightBy for U8 and U16 2022-07-29 14:05:39 +02:00
Brian Carroll
8e4fd629eb
Wasm: Handle closure data that's a lambda set with no closure data 2022-07-20 00:28:36 +01:00
Folkert de Vries
1b1b63aad0
Merge branch 'trunk' into assoc-list-dict 2022-07-14 16:47:50 +02:00
Richard Feldman
da7c7ac5f2
Merge pull request #3525 from rtfeldman/3522
Num.toStr for f32, f64, Dec
2022-07-13 21:30:05 -04:00
Folkert
5763248b44
Merge remote-tracking branch 'origin/trunk' into assoc-list-dict 2022-07-13 20:44:28 +02:00
Ayaz Hafiz
b7b9227675
Num.toStr Dec for wasm 2022-07-13 12:24:07 -04:00
Richard Feldman
aad922251d
Use Builtin::WRAPPER_* in gen_wasm 2022-07-13 12:19:38 -04:00
Richard Feldman
25facfa9c6
Expose capacity builtins 2022-07-13 12:19:37 -04:00
Ayaz Hafiz
b7c312d449
Support Num.toStr for f32, f64 2022-07-13 12:13:01 -04:00
Folkert
4d55b756bb
remove dict/set layout 2022-07-13 11:41:19 +02:00
Folkert
8e21fdcb04
remove dict/set lowlevels 2022-07-13 11:24:07 +02:00
Folkert
d8c1ae6bf1
fix off-by-one error 2022-07-08 23:47:03 +02:00
Folkert
e8530eaca5
improve lowlevel unwrapping 2022-07-08 22:13:13 +02:00
Folkert
56c9787e8f
List.appendUnsafe and List.reserve 2022-07-07 22:40:28 +02:00
Brian Carroll
c32ce44b29
wasm: Explicit exhaustiveness on conditionals for higher-order lowlevels 2022-07-07 20:36:12 +01:00
Brian Carroll
f132350ef3
wasm: implement List.sortWith 2022-07-06 22:01:01 +01:00
Brian Carroll
e5e56a7795
wasm: Implement List.prepend 2022-07-06 21:59:37 +01:00
Folkert
3a30e77726
Merge remote-tracking branch 'origin/trunk' into list-unreachable 2022-07-06 01:38:50 +02:00