Brendan Hansknecht
b8fb83af86
get wasm dev backend working
2024-07-21 19:53:36 -07:00
Brendan Hansknecht
2cd0d51409
add RocRefcounted to RocBox
2024-07-13 10:39:58 -07:00
Brendan Hansknecht
0d083bc192
fix dev-wasm ListGetUnsafe refcounting
2024-07-13 10:39:57 -07:00
Brendan Hansknecht
c734a27b59
move List.map* into roc
2024-07-13 10:39:56 -07:00
Brendan Hansknecht
94cb4fb8ff
remove inc functions from list.map*, the closure will inc in necessary
2024-07-13 10:39:56 -07:00
Brendan Hansknecht
0f7964cc9c
get runtime representation within a pointer instead of of pointers to correctly find refcount functions
2024-07-13 10:39:55 -07:00
Brendan Hansknecht
ba9b15f7d6
generate elem refcount function and pass it into decref lowlevel
2024-07-13 10:39:55 -07:00
Brendan Hansknecht
7529883451
correct list.dropAt arguments in dev wasm
2024-07-13 10:39:55 -07:00
Brendan Hansknecht
927eff0bf4
generate indirect refcount calls in wasm backend
2024-07-13 10:39:55 -07:00
Brendan Hansknecht
e92cf1be42
Revert "attempt to correct list refcount generation in dev backends"
...
This reverts commit 0854a1a53a2db441c648140bdd24de91125ec645.
2024-07-13 10:39:54 -07:00
Brendan Hansknecht
36bc8bfac4
attempt to correct list refcount generation in dev backends
2024-07-13 10:39:54 -07:00
Brendan Hansknecht
669daad33d
wasm backend call into zig to allocate with refcount correctly
2024-07-13 10:39:53 -07:00
Brendan Hansknecht
48eb9c31a9
update list generated refcounting functions for dev and wasm
2024-07-13 10:39:53 -07:00
Brendan Hansknecht
3238ee7d0d
correct UTILS_FREE_DATA_PTR function calls
2024-07-13 10:39:53 -07:00
Brendan Hansknecht
0d0a4a8806
Update refcounting of list builtins to the new system.
2024-07-13 10:39:53 -07:00
Brendan Hansknecht
d5e91ed61e
Update dev and wasm backend to use new list bitcode args
2024-07-13 10:39:52 -07:00
Brendan Hansknecht
93fab26c01
Add a RocRefcounted trait in roc_std
...
This is required to properly handle refcounting of RocList.
Without it, we can't tell if we need to get the length from the heap.
That said, it isn't a pretty solution.
I think dealing with generating bespoke type in glue would feel nicer than this but be much more work.
It also would deal with the issue of implementations in the bitcode not matching external libraries.
That said, it would require exposing way more symbols from roc for each monomophorphized list variant.
2024-07-13 10:39:51 -07:00
Richard Feldman
99eb5bfe1e
Support formatting strings in error macros
2024-06-29 21:09:17 -04:00
shua
f7bec802c0
PR: rename to List.concatUtf8
2024-06-08 13:36:20 +02:00
shua
33e8a7a439
implement Str.concatUtf8
2024-06-07 19:05:52 +02:00
Anton-4
dc96e194bd
clippy
2024-04-15 19:36:52 +02:00
Fabian Schmalzried
4269608ebf
remove i128OfDec
2024-04-01 21:08:12 +02:00
Fabian Schmalzried
d6aaf96e74
wasm low level untestd
2024-04-01 21:08:10 +02:00
Fabian Schmalzried
11998b9cc8
f32FromParts and f64FromParts for repl
2024-04-01 21:08:10 +02:00
Fabian Schmalzried
473b8ef2d3
f32/f64toParts in repl only
2024-04-01 21:08:09 +02:00
Fabian Schmalzried
64e9899cad
Add Num.withDecimalPoint
2024-04-01 21:08:09 +02:00
Fabian Schmalzried
9c664172dd
Add Num.withoutDecimalPoint
2024-04-01 21:08:09 +02:00
Brendan Hansknecht
6dc5bfb1b7
Use roc_target over target_lexicon
...
Tailors a target class for our needs.
Replaces tons of uses across the entire compiler.
This is a base for later adding new targets like thumb.
2024-03-31 10:50:26 -07:00
Richard Feldman
739565e836
Revert "Remove obsolete ListLenUsize"
...
This reverts commit ad1bca4ac9c40d336522f944df60d61a814435dd.
2024-02-17 13:20:34 -05:00
Richard Feldman
87d4760356
Remove obsolete ListLenUsize
2024-02-17 13:20:34 -05:00
Richard Feldman
37b154df4f
Remove Str.fromUtf8Range
...
Seamless slices make this obsolete!
2024-02-17 13:20:33 -05:00
Richard Feldman
ada83561e5
Split ListLen into ListLenU64 and ListLenUsize
...
The usize one gets used internally for things like
pattern matches. This is both more efficient (means
they don't have to do unnecessary casts) and also
less error-prone due to e.g. comparing length to
capacity, which is usize.
2024-02-14 21:00:49 -05:00
Richard Feldman
b2ce7e5fcf
Rearrange where usize -> u64 conversions happen
2024-02-13 12:50:40 -05:00
Richard Feldman
24a38c4a26
Merge remote-tracking branch 'origin/main' into remove-nat
2024-02-11 12:26:36 -05:00
Richard Feldman
f79ff6d496
Remove unused lowlevel StrGetCapacity
2024-02-01 21:37:16 -05:00
Brendan Hansknecht
fc6b519b59
Merge pull request #6463 from roc-lang/dec-pow
...
`Num.pow` for `Dec`
2024-02-01 09:17:55 -08:00
Richard Feldman
0b42a902ab
Have List.withCapacity lowlevel use u64 over usize
2024-01-31 20:29:17 -05:00
Richard Feldman
aabd95404f
Merge remote-tracking branch 'origin/main' into remove-nat
2024-01-30 21:42:45 -05:00
Brendan Hansknecht
a925478f8d
Correct wasm32 alignment for 128bit types
2024-01-30 16:53:42 -08:00
Brendan Hansknecht
e7be9d435d
Merge pull request #6460 from roc-lang/dec-div-floor
...
`floor`, `ceiling` and `round` for `Dec`
2024-01-30 16:38:12 -08:00
Folkert
73d4a4ee56
wasm: incorrect step used to read RocList elements
2024-01-30 18:51:14 +01:00
Folkert
e16b25c93e
Num.pow for Dec
2024-01-30 16:33:50 +01:00
Folkert
2e648cfdd5
add support in llvm/wasm backends
2024-01-29 16:16:06 +01:00
Richard Feldman
9518d76cd8
Remove Num.bytesTo___ functions
...
These may be reintroduced in some form later,
but they don't handle endianness and it's not
clear builtins are the right place for them.
2024-01-26 16:23:19 -05:00
Richard Feldman
a8918a4e3b
Update List.dropAt to no longer use Nat
2024-01-26 16:06:09 -05:00
Richard Feldman
4a870c8ee0
Update Nat to U64 in some comments
2024-01-26 16:06:09 -05:00
Richard Feldman
a71188dc30
Update List.sublist to no longer use Nat
2024-01-26 16:06:08 -05:00
Richard Feldman
2cf7b5b5ca
Update List.swap to no longer use Nat
2024-01-26 16:06:08 -05:00
Richard Feldman
27474d4ed8
Update List.reserve to no longer use Nat
2024-01-26 16:06:08 -05:00
Richard Feldman
97f21e65fe
Update ListLen and ListGetUnsafe to not use Nat
2024-01-26 16:05:56 -05:00