Commit graph

891 commits

Author SHA1 Message Date
Brendan Hansknecht
279ea48def
tell windows that we use floats? 2023-12-10 19:58:20 +01:00
Brendan Hansknecht
a86cd28d1d
wasm is not friends with compiler-rt 2023-12-10 19:58:20 +01:00
Brendan Hansknecht
5ec5f63a19
libc is a lie, tell bitcode that roc targets a world where libc might not exist 2023-12-10 19:58:20 +01:00
Brendan Hansknecht
2d0ba0a792
remove all compiler-rt and libc code ports from zig bitcode 2023-12-10 19:58:19 +01:00
Brendan Hansknecht
4c76a224b5
bundle compiler-rt through zig 2023-12-10 19:58:19 +01:00
Brendan Hansknecht
8d8e498f11
remove unnecessary call to math.floor in bitcode 2023-12-10 19:58:18 +01:00
Brendan Hansknecht
3aa9908cb3
Swap Dict implementation to ankerl dense unordered
ankerl::dense_unordered is a very fast hash map that is built to be an index map.
This enables extra optimizations compared to just wrapping a regular hash map.
As such, I think this map is very well suited for our index map impl in Roc.
I also think this dictionary implementation is simpler overall.
On top of that, this removes the need for SIMD instructions for peak performance.

Benchmarks of the C++ version and other C++ hash maps are here: https://martin.ankerl.com/2022/08/27/hashmap-bench-01/
Though this has clear bias of being written by the author of ankerl::dense_unordered,
the results all look correct and the benchmarks thorough.
2023-12-10 19:58:17 +01:00
Anton-4
c4c1e66d1c
Merge pull request #6209 from roc-lang/remove-max-nat-mention
Num.maxNat does not exist
2023-12-06 20:44:49 +01:00
Richard Feldman
6f0857d7da
Merge pull request #6202 from roc-lang/substring-slices
Create seamless slices when getting a substring
2023-12-06 14:31:01 -05:00
Brendan Hansknecht
ca71409a76
add comment on slice construction 2023-12-06 11:26:52 -08:00
Anton-4
e16f2bbc01
Num.maxNat does not exist
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2023-12-06 18:19:27 +01:00
Brendan Hansknecht
81eff6a23f
Merge pull request #6176 from roc-lang/set-perf
Improve perf of Dict and Set
2023-12-06 02:02:01 -08:00
Brendan Hansknecht
087ca115c9
create seamless slices when getting a substring 2023-12-05 22:46:43 -08:00
Brendan Hansknecht
86eae30247
Merge pull request #6182 from CrepeGoat/patch-1
Update Num.roc - fix docstring typos
2023-12-05 14:28:39 -08:00
Brendan Hansknecht
a2cc17e8e9
write keepShared in a way that doesn't break dev-wasm 2023-12-05 14:12:10 -08:00
Brendan Hansknecht
87b31a581e
roc format 2023-12-05 12:37:12 -08:00
Brendan Hansknecht
3f50f78eba
update tests and Dict.keepShared semantics 2023-12-05 12:37:12 -08:00
Brendan Hansknecht
a0854a10e7
optimize set intersection and union 2023-12-05 12:37:12 -08:00
Brendan Hansknecht
35146d1a0b
remove redundant size attribute 2023-12-05 12:37:11 -08:00
Brendan Hansknecht
b9ef582c26
correct size to avoid rehash 2023-12-05 12:37:11 -08:00
Brendan Hansknecht
7e04c1f58c
use constants to avoid new allocations in Dict.empty 2023-12-05 12:37:11 -08:00
Brendan Hansknecht
f31a4070e4
implement Dict.withCapacity and improve Dict.fromList 2023-12-05 12:37:11 -08: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
e336aa525c
Merge pull request #6062 from JRMurr/div-0-should-crash
Update zig `@panic` calls to `roc_panic` for numeric errors
2023-12-05 12:28:47 -08:00
Anton-4
a57f29e780
Merge pull request #6184 from roc-lang/debug-info
Fix debug info
2023-12-05 14:03:52 +01:00
LoipesMas
00839e12b5 Run roc format 2023-12-05 00:24:08 +01:00
LoipesMas
d4a8208069 Add more test cases 2023-12-05 00:04:13 +01:00
LoipesMas
83ac8209ae Add Dict.keepIf, Dict.dropIf, Set.keepIf, Set.dropIf 2023-12-04 23:38:51 +01:00
Brendan Hansknecht
034b86973b
keep stripping zig debug info to avoid 250ms cost 2023-12-04 13:38:25 -08:00
Brendan Hansknecht
496cd6710a
fix debug info and add it all to the llvm backend 2023-12-04 12:55:33 -08:00
Becker A
82ed520b98
Update Num.roc
undid bad change

Signed-off-by: Becker A. <awqatty.b@gmail.com>
2023-12-04 10:56:29 -07:00
Becker A
88d9d2d81b
Update Num.roc
fixed docstring typos

Signed-off-by: Becker A. <awqatty.b@gmail.com>
2023-12-04 10:55:26 -07:00
Becker A
f420e518d5
Update Num.roc
fixed docstring typo

Signed-off-by: Becker A. <awqatty.b@gmail.com>
2023-12-04 10:54:17 -07:00
Becker A
779b948772
Update Num.roc
fixed typos

Signed-off-by: Becker A. <awqatty.b@gmail.com>
2023-12-04 10:46:55 -07:00
Brendan Hansknecht
e5a0af5699
make DbgFormatter an unexposed implementation detail 2023-12-03 12:41:04 -08:00
Brendan Hansknecht
787d7f85ac
switch dbg arg ordering to make it backwards compatible 2023-12-02 21:18:32 -08:00
Brendan Hansknecht
6c60da2832
add dbg impl for use with roc test 2023-12-02 21:18:32 -08:00
Brendan Hansknecht
13d2238536
update roc_dbg in platforms 2023-12-02 21:18:31 -08:00
Brendan Hansknecht
3966d63e2f
add src and location to dbg 2023-12-02 21:18:31 -08:00
Ayaz
20bcd70ad2
Merge branch 'main' into div-0-should-crash 2023-12-02 20:10:32 -06:00
Becker A
14e04d65cf
Update Decode.roc
fixed typo

Signed-off-by: Becker A. <awqatty.b@gmail.com>
2023-12-02 18:33:17 -07:00
Brendan Hansknecht
e65f14fa49
Merge pull request #6090 from Gungy2/5830
Add `log` function to `Dec`
2023-12-01 22:02:35 -08:00
Richard Feldman
421f8d9c5c
Fix Str.walkUtf8 docs 2023-12-01 20:49:58 -05:00
Brendan Hansknecht
738098bfd0
Merge branch 'main' into 5830 2023-12-01 16:37:33 -08:00
Brendan Hansknecht
3e66254b25
update zig and rust platforms to have correct roc_panic and roc_dbg 2023-11-29 21:49:34 -08:00
Brendan Hansknecht
b62c9667d5
Correct typo
Co-authored-by: Ayaz <20735482+ayazhafiz@users.noreply.github.com>
Signed-off-by: Brendan Hansknecht <Brendan.Hansknecht@gmail.com>
2023-11-29 21:05:49 -08:00
Brendan Hansknecht
e6cc43492a
rip out old dbg and setup reasonable base debug location info 2023-11-29 21:05:49 -08:00
Brendan Hansknecht
3d6c140a30
get minimal roc_dbg working 2023-11-29 21:05:49 -08:00
John Murray
298f93d20c
update a bunch of panic message to be capitalized 2023-11-28 20:46:09 -05:00
John Murray
d6f0709296
feedback: update some panic messages 2023-11-28 20:21:56 -05:00