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
24a38c4a26
Merge remote-tracking branch 'origin/main' into remove-nat
2024-02-11 12:26:36 -05:00
Brendan Hansknecht
50f220f878
Avoid generating actual lambda names
...
This is super slow. When trying to compile a "real" app like rocci-bird or the false interpreter,
the compiler will just hang in repeated calls to this function.
I am not sure if this "fix" is valid. I would assume that hashing the names should be equivalent hashing
the InLayout. The InLayout should be a unique id that maps to the layout. The layout should map to name.
So I think it should be a fix.
I haven't done intensive testing, but this is way way faster.
2024-02-01 21:35:17 -08:00
Richard Feldman
aabd95404f
Merge remote-tracking branch 'origin/main' into remove-nat
2024-01-30 21:42:45 -05:00
Folkert
e16b25c93e
Num.pow for Dec
2024-01-30 16:33:50 +01:00
Folkert
db3b40a07b
Dec floor/ceiling/round
2024-01-29 13:39:38 +01:00
Richard Feldman
3e27e18566
Merge remote-tracking branch 'origin/main' into remove-nat
2024-01-29 07:23:58 -05:00
Folkert
076fafe02f
enable some float conversion tests for gen-dev
2024-01-27 15:04:30 +01:00
Folkert
1e744dca7c
missing functions for dev backend for glue
2024-01-27 14:51:09 +01:00
Richard Feldman
a8918a4e3b
Update List.dropAt to no longer use Nat
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
2970fc4384
Merge remote-tracking branch 'origin/main' into str-unicode
2024-01-21 12:30:16 -05:00
Folkert
f1ffc36efe
add List.clone
2024-01-20 20:29:07 +01:00
Richard Feldman
b48fa0698a
Remove scalars and graphemes from Str
2024-01-17 21:30:34 -05:00
Folkert
7a365eb88f
enable even more dev-backend num tests
2024-01-02 22:23:47 +01:00
Folkert
b7a41bcb3e
enable many more dev-backend num tests
2024-01-02 21:30:49 +01:00
Folkert
cfdfbe18a4
implement panic on overflow for mul in the dev backend
2024-01-02 15:56:28 +01:00
Brendan Hansknecht
6692f5b15d
correct counting bits to return a u8
...
Also add an impl to the dev backend
2023-12-05 12:37:10 -08:00
Brendan Hansknecht
f5fb01fd53
Get tests passing
...
Add roc_dbg to some platforms.
Also start updating some roc_panic impls.
2023-11-29 21:05:49 -08:00
HajagosNorbert
6975294278
format code & replace vec!(in arena;...) with arena.alloc([...])
2023-11-21 11:09:42 +01:00
HajagosNorbert
9c21ac1388
rename to GetElementPointer, index -> indices
2023-11-13 15:48:05 +01:00
HajagosNorbert
90223022af
remove tag_id in favor of index
2023-11-13 15:48:05 +01:00
HajagosNorbert
347431d1df
index to slice of indicies
2023-11-13 15:48:05 +01:00
Richard Feldman
e59d4e57c5
Add List.appendIfOk and List.prependIfOk
2023-11-06 18:13:15 +01:00
Folkert
ea5632c437
pass missing argument to utf8_range
2023-10-09 15:24:39 +02:00
Folkert
027b8aff4d
add function calls and maybe fix function call relocations?
2023-09-15 23:06:06 +02:00
Folkert
5e2dbe3362
NumDivCeilUnchecked
2023-09-14 14:39:14 +02:00
Folkert
5557fb7e34
repl helper codegen
2023-09-14 14:39:12 +02:00
Folkert
134bcf8098
wrapped & saturated multiplication
2023-09-14 14:38:32 +02:00
Folkert
89472bf495
fix most dev backend tests
2023-09-13 20:24:16 +02:00
Luke Boswell
1856695b0b
only generate roc panic if running tests
2023-09-03 21:32:35 +02:00
Folkert
bb97b9ff74
cleanup
2023-07-30 20:44:10 +02:00
Folkert
f59eed6366
so close
2023-07-30 20:44:10 +02:00
Folkert
644def72f1
working happy path
2023-07-30 20:44:10 +02:00
Folkert
10aa4f58c9
WIP
2023-07-30 20:41:33 +02:00
Folkert
f96c78b3a5
setjmp/longjmp assembly gen
2023-07-30 20:39:53 +02:00
Folkert
44d03eebfa
switch over to alloca expr
2023-07-30 18:48:35 +02:00
Folkert
cdd2aab217
add alloca as an expression
2023-07-30 18:46:00 +02:00
Ayaz Hafiz
a8d821bf87
Remove all box references
2023-07-12 15:50:00 -05:00
Ayaz Hafiz
283b9d53d6
Add Expr::ErasedLoad
2023-07-12 14:42:46 -05:00
Ayaz Hafiz
2c838aa5c2
Add mono Expr::ErasedMake
2023-07-12 14:40:16 -05:00