Commit graph

109 commits

Author SHA1 Message Date
Agus Zubiaga
6e6382ab23
Canonicalize and constrain statement expr in purity inference mode 2024-11-07 18:54:15 -03:00
Agus Zubiaga
75177c9c98
Rename effect_type to fx_type and add to FunctionDef 2024-11-07 18:54:12 -03:00
Agus Zubiaga
386a5055ee
Add effect_type to can ClosureData 2024-11-07 18:54:11 -03:00
Sam Mohr
b3e60f9d3a
Implement return keyword 2024-10-20 08:58:59 -07:00
Brendan Hansknecht
c734a27b59
move List.map* into roc 2024-07-13 10:39:56 -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
48eb9c31a9
update list generated refcounting functions for dev and wasm 2024-07-13 10:39:53 -07: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
Fabian Schmalzried
4269608ebf
remove i128OfDec 2024-04-01 21:08:12 +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
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
Richard Feldman
f79ff6d496
Remove unused lowlevel StrGetCapacity 2024-02-01 21:37:16 -05:00
Richard Feldman
aabd95404f
Merge remote-tracking branch 'origin/main' into remove-nat 2024-01-30 21:42:45 -05:00
Kiryl Dziamura
b3dfdb562b
crash on rem div by zero 2024-01-30 11:12:02 +01:00
Folkert
979128cf32
make division by zero (integer) not trap 2024-01-29 01:38:32 +01:00
Richard Feldman
fb84c9487d
Remove Num.Natural, Num.toNat, and Num.toNatChecked 2024-01-26 16:23:20 -05: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
ef030ae656
Update a comment 2024-01-26 16:06:06 -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
Brendan Hansknecht
108d9a54e3
Switch Num.tan to a zig builtin
It should be able to share some work between sine and cosine to run faster.
2023-09-16 21:27:51 -07: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
Folkert
fc3004da58
free or reuse unconditionally when value is unique 2023-06-27 17:37:45 +02:00
Folkert
654cf7b861
changes after review 2023-06-24 14:49:57 +02:00
Folkert
9c85fb90d3
fix bugs 2023-06-24 14:49:47 +02:00
Folkert
0247237fe8
WIP 2023-06-24 14:49:46 +02:00
Hannes
97fa6758d0 Rename trimLeft to trimStart and trimRight to trimEnd 2023-06-19 13:17:59 +08:00
Ayaz Hafiz
3585d5bb5b
Implement hash for Dec 2023-05-26 11:38:30 -05:00
Brendan Hansknecht
b4c359588e
Seed Dict and Set
This changes Dict and Set to have a compilation depedent seed.
The seed is not exposed to userland in anyway.
This gets a much more DOS resistant Dict and Set with no cost.
2023-05-25 09:55:48 -07:00
Basile Henry
b8aaaaabda Implement builtins for Num.isNan, Num.isInfinite, and Num.isFinite
Closes #5310 and closes #5309
2023-05-03 09:33:28 +01:00
Folkert
cf54304cf4
add lowlevel to inc/dec a data pointer 2023-04-28 15:30:23 +02:00
J Teeuwissen
7439ee0c8c
Merge branch 'main' into drop_specialization
Signed-off-by: J Teeuwissen <jelleteeuwissen@hotmail.nl>
2023-04-26 20:26:37 +02:00
J.Teeuwissen
ed46a1f2cb
lowlevel isUnique 2023-04-26 17:23:10 +02:00
Folkert
be31bc5c41
add the PtrWrite lowlevel 2023-04-23 15:19:46 +02:00
Brendan Hansknecht
48f17a8e2c
add Str.releaseExcessCapacity 2023-03-15 15:24:59 -07:00
Brendan Hansknecht
1319ba4844
add List.releaseExcessCapacity builtin 2023-03-13 17:43:21 -07:00
Brendan Hansknecht
e6964536b2
add more Num.bytesTo* functions 2023-03-12 08:41:05 -07:00
Brendan Hansknecht
785da377c8
add Num.count*Bits functions 2023-03-12 08:41:04 -07:00
Joshua Warner
de828416bf
Initial implementation of tuples in type checking
This leaves in place a bunch of TODOs and likely many bugs - notably, I haven't tested codegen/layout at all here.
2023-01-22 12:40:44 -08:00