Commit graph

1227 commits

Author SHA1 Message Date
Sam Mohr
a292e070d4
Prefer and and or for boolean operators 2025-01-17 16:15:31 -08:00
Anthony Bullard
1b43ffa579
Format all lambdas to new syntax 2025-01-16 08:03:44 -06:00
Ian McLerran
297dd0233e
update internal references to Result.map 2025-01-15 19:55:27 -06:00
Ian McLerran
579beab901
Result.map to Result.map_ok 2025-01-15 19:55:26 -06:00
Brendan Hansknecht
ec8aeaa15a
zig fmt 2025-01-10 20:39:38 -08:00
Brendan Hansknecht
7643f89781
Merge branch 'main' into simplify-refcount
Signed-off-by: Brendan Hansknecht <Brendan.Hansknecht@gmail.com>
2025-01-10 20:34:52 -08:00
Sam Mohr
1bb9f7f530
Merge pull request #7498 from HajagosNorbert/dec-to-str
remove unused var causing errors in debug tests.
2025-01-10 18:09:21 -08:00
Norbert Hajagos
9689656845
remove unused var causing errors in debug tests. 2025-01-10 21:34:11 +01:00
Sam Mohr
eb1b5ffa26
Move to new interpolation syntax 2025-01-10 10:29:20 -08:00
Ian McLerran
ab3f39a7c9
Add docs for List.walk_try! 2025-01-09 13:49:33 -06:00
Ian McLerran
ea2a007834
Add List.walk_try! 2025-01-09 11:45:01 -06:00
Ian McLerran
ffa1dd5703
unified formatting for walk 2025-01-09 09:40:59 -06:00
Luke Boswell
d9d2ce83d6
Merge remote-tracking branch 'remote/main' into annotate-type-signatures 2025-01-09 14:21:37 +11:00
Sam Mohr
2150ee2219
Remove Task from Roc 2025-01-08 17:00:40 -08:00
Luke Boswell
37cd04c002
Merge branch 'main' into simplify-refcount 2025-01-09 10:18:00 +11:00
Anthony Bullard
3a6225c354
Fix builtin formatting 2025-01-08 15:20:04 -06:00
Sam Mohr
11b720d355
Fix docs issues 2025-01-07 13:18:58 -08:00
Sam Mohr
7a2f8bfa71
Merge branch 'main' into auto-snake-case 2025-01-07 13:18:41 -08:00
Luke Boswell
8540aa1a14
Merge pull request #7321 from shua/fromutf8
DO NOT MERGE update Str.fromUtf8 error type
2025-01-08 07:56:40 +11:00
Timon
716374cfc0
Fixed Issue #6929 Escape unicode when inspecting a Str (#7411)
* Fixed Issue #6929 Escape unicode when inspecting Str

added AUTHORS

improved comment

* update generated mono tests

* fixed formatting

* fixed merge conflicts
2025-01-06 18:52:50 +01:00
Sam Mohr
f524d35114
Fix module formatting 2025-01-05 21:04:58 -08:00
Sam Mohr
cd0e2a4474
Merge branch 'main' into auto-snake-case 2025-01-05 16:50:24 -08:00
Sam Mohr
1e5b16da36
Fix formatting 2025-01-05 06:39:47 -08:00
Sam Mohr
0edbf16d55
More progress 2025-01-05 05:16:47 -08:00
Sam Mohr
b56fbd38e1
Progress on updating entire compiler for snake_case 2025-01-05 03:48:03 -08:00
Anthony Bullard
a24fe430b4
Support '??' syntax for optional record fields 2025-01-04 14:26:20 -06:00
Sam Mohr
30b8a1407d
Fix broken ability implementation 2025-01-04 05:37:17 -08:00
Sam Mohr
2aac2e01f8
Move builtins to snake_case with auto-case conversion 2025-01-04 03:29:01 -08:00
Sam Mohr
21aae74be2
Merge branch 'main' into issue-7425 2025-01-02 12:58:35 -05:00
Brendan Hansknecht
66c1d5f425
fix perf on x86 2025-01-01 21:19:01 -05:00
Brendan Hansknecht
b9832dd6d3
remove unnecessary pub 2025-01-01 14:19:41 -08:00
Brendan Hansknecht
0d800252f3
avoid storing refcount instead load it. That optimizes beter for some reason 2025-01-01 14:03:49 -08:00
Brendan Hansknecht
78530141a1
fix tests 2025-01-01 13:35:08 -08:00
Brendan Hansknecht
26bd2d437e
if the user reserves a specific number of elements, trust them 2025-01-01 13:00:34 -08:00
Brendan Hansknecht
c6d594a758
cleanup constant refcount checking 2025-01-01 12:28:16 -08:00
Brendan Hansknecht
4b8693537a
Simplify Refcounting
Instead of -max_size to -1 for regular refcounts, use 1 to max_size.
0 still means constant refcount.
The highest bit is used to signify atomic refcounting required.
This does not turn on any sort of atomic refcounting.
2025-01-01 11:00:18 -08:00
Brendan Hansknecht
8ad6c47211
also update is_unique for atomic isize 2024-12-31 20:52:04 -08:00
Brendan Hansknecht
f901946455
Improve roc atomic refcounting by using first bit to indicate threadlocal
By avoiding atomic refcounting for any threadlocal variable, this greatly improves performance.
Leads to the performance of threadlocal refcounting being only ~4% behind non-atomic refcounting.
The old atomic refcounting could be as far as ~50% behind (though normally 10-20%).

This does not enable anything atomic related.
If we enable all forms of data loading (List.get, Box.unbox, loading recursive tag) to propagate the atomic flag,
this should be a reasonable implementation for roc by default.
With propagation, a platform would just set a list to atomic. On load, individual elements would also get set to atomic.
We also should probably revert back to threadlocal if an atomic refcount drops to 1.
2024-12-31 20:52:03 -08:00
Ian McLerran
b4c20fca39
roc format 2024-12-31 12:13:23 -06:00
Ian McLerran
13a4d8a6e3
Add List.walk! example to documentation 2024-12-30 18:23:27 -06:00
Ian McLerran
3fc5c638a1
Expose walk! 2024-12-30 18:23:25 -06:00
Ian McLerran
53915bc6e1
Add List.walk! function 2024-12-30 18:23:23 -06:00
Sam Mohr
87fb90660f
Remove broken docs example for Task.batch 2024-12-25 12:30:43 -08:00
Sam Mohr
2b6eaf48d8
Add Task.combine 2024-12-25 11:57:35 -08:00
Jared Ramirez
7daa008a9a
Add Num.fromBool 2024-12-24 10:10:20 -05:00
Anton-4
63abc4bb01
Merge branch 'main' into fromutf8 2024-12-23 11:29:59 +01:00
Anton-4
1bae24b3ea
bitcode build fix (#7394)
* new broader workaround
2024-12-20 11:38:56 -08:00
Anton-4
bd5034e89d
flaky error retry
Closes #7380 

Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2024-12-16 19:58:04 +01:00
Brendan Hansknecht
de18f25a65
attempt more zig cache clearing 2024-12-12 18:55:43 -08:00
Brendan Hansknecht
0f5f5fbe54
wasm does not like PIC 2024-12-12 17:45:31 -08:00