Commit graph

69 commits

Author SHA1 Message Date
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
Folkert de Vries
93dbda9ac5
Merge pull request #3399 from rtfeldman/pure-roc-map-with-index
Pure Roc `List.mapWithIndex`
2022-07-06 00:25:46 +02:00
Folkert
f86f2e2bdd
format 2022-07-05 00:51:10 +02:00
Folkert
6095dcff66
Merge remote-tracking branch 'origin/trunk' into list-unreachable 2022-07-04 19:21:31 +02:00
Folkert
6d7c329698
Str.walkScalars 2022-07-04 18:01:19 +02:00
Folkert
1de9270ecf
Merge remote-tracking branch 'origin/trunk' into str-walk 2022-07-04 16:30:07 +02:00
Folkert
9c41a4d442
str.appendScalar 2022-07-04 16:27:04 +02:00
Brian Carroll
a5a85d7d73
mono: delete HigherOrder variant ListMapWithIndex 2022-07-04 15:10:31 +01:00
Brian Carroll
eb2ac4c82b
module: delete LowLevel enum variant ListMapWithIndex 2022-07-04 15:07:12 +01:00
Folkert
ab721dd3c1
Str.reserve 2022-07-04 14:57:20 +02:00
Folkert de Vries
4523e90bc7
Merge pull request #3398 from rtfeldman/wasm-str-full-coverage
Wasm Str: 100% tests passing
2022-07-04 14:51:52 +02:00
Folkert de Vries
1441e8c347
Merge pull request #3392 from rtfeldman/wasm-boxed-eq-and-refcount
Dev backends: Eq and refcount for Boxed layout
2022-07-04 13:17:37 +02:00
Brian Carroll
fdc0851883
wasm: fix Str.fromUtf8Range 2022-07-04 11:52:18 +01:00
Brian Carroll
60d29c2e25
builtins: Move return pointer to first position for fromUtf8C 2022-07-04 11:24:39 +01:00
Brian Carroll
a342f02824
wasm: fix Str.fromUtf8 2022-07-04 11:24:38 +01:00
Brian Carroll
02ec30425c
wasm: Implement Str.split 2022-07-04 11:24:38 +01:00
Folkert
5904934887
rename countBytes -> countUtf8Bytes 2022-07-03 21:49:01 +02:00
Brian Carroll
7c7e450756
mono: generate Eq functions for Boxed layout 2022-07-03 18:42:35 +01:00
Folkert
be3800d7fa
add substringUnsafe roc function 2022-07-03 17:15:25 +02:00
Ayaz Hafiz
8855f269ba
Make captures niche more private 2022-07-03 10:37:36 -04:00
Ayaz Hafiz
019ebd93f7
Put the capture niche in the lambda name instead of generating new names 2022-07-03 10:37:29 -04:00
Folkert
3cd56c3184
add Str.countBytes 2022-07-03 14:16:47 +02:00