Luke Boswell
b1ffa5c99b
use subs caching on windows
2024-01-21 22:00:17 +11:00
Luke Boswell
ebff47a2aa
fix clippy
2024-01-21 12:24:35 +11:00
Folkert
8b5269a66c
update mono tests
2024-01-20 22:31:54 +01:00
Folkert
f1ffc36efe
add List.clone
2024-01-20 20:29:07 +01:00
Brendan Hansknecht
b6a5e5367c
build structs directly in the alloca
2024-01-20 09:44:46 -08:00
Folkert
351c9215fe
dev backend: f32 abs
2024-01-19 15:16:32 +01:00
Richard Feldman
e7c93bad75
Restore » in docs and allow it in highlighter
2024-01-18 22:23:06 -05:00
Richard Feldman
09c0453fc9
Fix HTML build
2024-01-18 21:51:50 -05:00
Luke Boswell
85fdef8a9b
fix doc comments in Str
2024-01-19 09:56:53 +11:00
Richard Feldman
894860118b
roc format
on builtins
2024-01-18 06:34:51 -05:00
William Barbosa
3882262b70
Fix remaining test cases
2024-01-18 08:15:02 +01:00
William Barbosa
f7fac0daba
Add a test for trimmed paths
2024-01-18 08:15:02 +01:00
William Barbosa
ad3673bfe9
Improve filename visibility in error messages
2024-01-18 08:15:02 +01:00
Richard Feldman
f2bd5efa41
update mono tests
2024-01-17 22:16:10 -05:00
Richard Feldman
88ea8ffb67
fix typo
2024-01-17 21:51:39 -05:00
Richard Feldman
b48fa0698a
Remove scalars and graphemes from Str
2024-01-17 21:30:34 -05:00
Richard Feldman
65738acb26
Update Str docs
2024-01-17 18:42:32 -05:00
Brendan Hansknecht
260b94b36d
Merge branch 'main' into rust-1-72-upgrade
2024-01-17 14:36:16 -08:00
Brendan Hansknecht
f9c0d54688
Stop using "rlib"
...
I don't know if this matters at all, but I don't think we should use "rlib".
The [rust docs](https://doc.rust-lang.org/reference/linkage.html ) suggest using "lib" by default.
"lib" probably just aliases to "rlib", but it lets the compiler pick what it wants.
I don't think this will fix anything, but I am half hopeful it will somehow fix #6121 .
2024-01-16 22:36:10 -08:00
Fabian Schmalzried
946f00e91b
Remove duplicate code in bitcode
...
Signed-off-by: Fabian Schmalzried <fabhof@posteo.de>
2024-01-16 16:19:39 +01:00
Richard Feldman
ae0e3593a4
Merge pull request #6311 from roc-lang/fix_benchmarks
...
Fix benchmarks failing silently
2024-01-15 14:00:57 -05:00
Isaac Van Doren
eec6d79248
exit code 2 for warnings
2024-01-14 19:53:55 -06:00
Isaac Van Doren
3d0661db0c
Revert "add ignore-warnings flag to roc build"
...
This reverts commit 1c85b823c1
.
2024-01-14 19:51:58 -06:00
Isaac Van Doren
acb2cfdd40
Revert "add flag to roc check"
...
This reverts commit 5d74cd61ec
.
2024-01-14 19:51:37 -06:00
Isaac Van Doren
5d74cd61ec
add flag to roc check
2024-01-14 16:00:11 -06:00
Isaac Van Doren
1c85b823c1
add ignore-warnings flag to roc build
2024-01-14 15:39:10 -06:00
Richard Feldman
443b3c8851
Fix single-quote dollar parsing
2024-01-13 15:41:35 -05:00
Anton-4
6a6345eb01
Merge branch 'main' of github.com:roc-lang/roc into fix_benchmarks
2024-01-13 19:47:20 +01:00
faldor20
d1f60f9eae
fix formatting
2024-01-13 20:32:31 +10:00
Anton-4
79ed84fff3
Merge pull request #6355 from B-Teague/merge-gitignore
...
Consolidate gitignore
2024-01-12 13:29:32 +01:00
Brian Teague
60c639b60e
Consolidate gitignore
...
Keep certain files with no file extension
Keep specific files with no file extension
Delete all gitignore files
2024-01-10 22:16:04 -05:00
Luke Boswell
6bdcc4743a
Merge pull request #6363 from roc-lang/windows-llvm-setjmp-longjmp
...
fix for bugged setjmp/longjmp on windows/llvm
2024-01-09 22:00:15 +11:00
Brendan Hansknecht
3559326996
Set debug info version
...
We just missed setting it. Set it as specified in the docs: https://thedan64.github.io/inkwell/inkwell/debug_info/index.html#setting-up-the-module-for-holding-debug-info
Not sure why it is 3, but that is the value in the llvm tutorial as well: https://llvm.org/docs/SourceLevelDebugging.html
Fixes #6367
2024-01-08 20:28:42 -08:00
faldor20
7de39df63e
Just stopping typechecking in interfaces when we have a package import
2024-01-09 06:21:35 +10:00
Luke Boswell
6b77aa93d5
force windows_setjmp & windows_longjmp
2024-01-08 12:31:09 +11:00
Folkert
b9b19d6054
fix for bugged setjmp/longjmp on windows/llvm
2024-01-07 23:04:11 +01:00
Richard Feldman
ff2704056e
Fix some tests
2024-01-07 00:00:37 -05:00
faldor20
ff7c2cf21b
Fixed in interfaces properly
2024-01-07 14:18:32 +10:00
faldor20
1d2ed391c8
formatting, clippy etx
2024-01-07 12:58:35 +10:00
faldor20
d2c3d346ad
added test for package
2024-01-07 12:52:31 +10:00
Richard Feldman
af8e9c7292
Parse deprecated interpolation syntax differently
2024-01-06 21:49:00 -05:00
faldor20
e43ef067b9
oops
2024-01-07 12:34:09 +10:00
faldor20
f4d71a5485
Finialised error and tested
2024-01-07 12:32:21 +10:00
faldor20
f36befdd4c
made nicer error
2024-01-07 11:28:05 +10:00
faldor20
124abc3620
kill process when would hang
2024-01-07 08:26:22 +10:00
Folkert de Vries
08ab7996a0
Merge pull request #6357 from roc-lang/dollar
...
Add support for $(...) string interpolation syntax
2024-01-06 22:20:19 +01:00
Richard Feldman
163bde0c41
Update tests to use $(...) interpolation
2024-01-06 15:06:30 -05:00
Richard Feldman
25be487977
Add $(...) string interpolation syntax
2024-01-06 15:04:22 -05:00
Anton-4
da741cf8d8
Merge pull request #6359 from roc-lang/output-extension
...
stop overwritting manually set file extensions
2024-01-06 19:51:41 +01:00
Brendan Hansknecht
2466e2eb3b
Merge pull request #6356 from roc-lang/box-rc
...
Fix RC for unions with non-refcounted fields
2024-01-06 10:45:30 -08:00
Folkert de Vries
b5f2ac2b6d
Merge pull request #6358 from roc-lang/float-checked-llvm
...
32-bit float checked float operations assumed f64
2024-01-06 18:32:34 +01:00
Brendan Hansknecht
607d2d6adc
stop overwritting manually set file extensions
2024-01-06 09:10:23 -08:00
Brendan Hansknecht
a2fcf76164
make sure that union refcounting branches to the decrement block
2024-01-06 08:34:46 -08:00
Brendan Hansknecht
ce6e0bec9f
add memory leak valgrind test for freeing boxes
2024-01-06 08:17:45 -08:00
Folkert de Vries
deb8782b65
Merge pull request #6339 from roc-lang/dev-num-tests
...
Dev num tests
2024-01-06 17:11:21 +01:00
Folkert
9c94930d6a
32-bit float checked float operations assumed f64
2024-01-06 16:05:01 +01:00
Folkert
f3abb3b466
add instructions to the right block
2024-01-06 15:52:53 +01:00
Brendan Hansknecht
88bac5eba7
ensure unions get freed even if they have no RC fields (hit when using box)
2024-01-05 22:20:58 -08:00
Isaac Van Doren
7d3df10921
format and clippy
2024-01-04 21:18:28 -06:00
Isaac Van Doren
190c88e886
report shadowing error messages last
2024-01-03 22:20:35 -06:00
Richard Feldman
b1f7316fce
Merge pull request #6337 from roc-lang/dev-mul-with-panic
...
implement panic on overflow for mul in the dev backend
2024-01-02 16:49:58 -05:00
Folkert
05c8521211
clippy
2024-01-02 22:39:59 +01:00
Folkert
33dfd5d27d
cleanup
2024-01-02 22:28:57 +01: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
6c521555ea
decimal division in dev backend
2024-01-02 19:53:13 +01:00
Folkert
4bcd195b92
implement NumSub (that panics) in the dev backend
2024-01-02 19:47:17 +01:00
dhzdhd
49c28409e0
Update ProgressReporter to display file size in KB
2024-01-02 19:09:55 +01:00
Folkert
cfdfbe18a4
implement panic on overflow for mul in the dev backend
2024-01-02 15:56:28 +01:00
Anton-4
c85a25e320
clippy fixes
2024-01-01 19:19:44 +01:00
Anton-4
3041da46f3
Merge branch 'main' of github.com:roc-lang/roc into rust-1-72-upgrade
2024-01-01 19:03:17 +01:00
Ayaz
865eff1956
Merge pull request #6331 from roc-lang/clippy-unnecessary-hashes
...
fix clippy (1.72.1) unnecessary hashes
2024-01-01 11:26:07 -06:00
Anton-4
5f1c383aa0
fmt
2024-01-01 17:11:46 +01:00
Anton-4
1126f85b5a
fix clippy unnecessary hashes
2024-01-01 16:38:36 +01:00
Anton-4
728f36cff8
crate upgrades for ahash issue
...
cli_run::static_site_gen was hitting 'use of unstable library feature stdsimd' when compiling ahash. ahash was a dependency of hashbrown 0.13.2.
2023-12-30 16:16:22 +01:00
John Murray
eff157333e
re-add mod tests but behind the test cfg
2023-12-27 12:45:16 -05:00
John Murray
07034faa0a
Revert "Revert "Merge pull request #6113 from JRMurr/nix-build-file-sets""
2023-12-27 12:45:13 -05:00
Anton-4
4569770c82
Merge pull request #6314 from roc-lang/nix-rev-update
...
update nix revision
2023-12-27 17:50:38 +01:00
Anton-4
2ac6243e72
partial clippy fixes
2023-12-27 17:46:56 +01:00
Anton-4
26f0448a94
rust 1.71.1 -> 1.72.1
2023-12-27 17:27:03 +01:00
Anton-4
861e50a5f4
fmt, test fix
2023-12-27 16:16:09 +01:00
Anton-4
3210e87815
fixed filenames
2023-12-27 15:58:03 +01:00
Anton-4
4dbda48de7
update nix revision
2023-12-26 19:08:40 +01:00
Richard Feldman
7952fa2e73
Delete unused arena-pool crate
2023-12-26 10:59:14 -05:00
Anton-4
0987be4c2d
dbg
2023-12-26 13:26:31 +01:00
Anton-4
a4fd42b8de
rustfmt
2023-12-25 17:19:30 +01:00
Anton-4
cd632fe549
Merge branch 'main' of github.com:roc-lang/roc into clippy-1.74
2023-12-25 17:05:37 +01:00
Anton-4
52133e2d21
keep ingested_file_bytes result the same on import changes
2023-12-23 18:44:36 +01:00
Anton-4
cf96010543
update to basic-cli 0.7.1
2023-12-23 16:54:59 +01:00
JRI98
689a1ff352
Fix list rest bind in when branch tuple destructure
2023-12-21 11:55:29 +00:00
Anton-4
9b7eb05b87
Merge pull request #6283 from roc-lang/roc-ls-docs
...
Update roc_ls docs
2023-12-19 22:22:57 +01:00
Bryce Miller
a710dd18ac
Merge branch 'main' into list-walk-with-index-until
2023-12-18 17:25:06 +01:00
Bryce Miller
12d1d7386b
modify test to sidestep wasm gen bug
2023-12-18 11:24:11 -05:00
Anton-4
dc677bd86a
Update roc_ls docs
...
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2023-12-15 16:27:37 +01:00
Brendan Hansknecht
2955b00bb5
Merge branch 'main' into luke-windows
2023-12-14 08:59:53 -08:00
Ayaz
4952f5e1d0
Merge pull request #6257 from roc-lang/fix-unknown-dot-roc
...
Replace UNKNOWN.roc in reports with real filename
2023-12-13 22:02:17 -06:00
Richard Feldman
4b743c8878
Replace UNKNOWN.roc in reports with real filename
2023-12-13 21:20:26 -05:00
Anton-4
24d042f18e
Merge pull request #6275 from roc-lang/better-mono-error
...
more visible+better mono error
2023-12-13 21:29:39 +01:00
Richard Feldman
22060a2b3f
Merge pull request #6272 from dotslashbit/fix-num-format
...
Fix : #6261 Removed all the mentions of Num.format
2023-12-13 15:11:36 -05:00
Anton-4
eaa085fa93
more visible+better mono error
2023-12-13 17:38:20 +01:00
Sahil Mahapatra
b2ceeb47d9
removed all the mentions of Num.format
2023-12-13 18:51:01 +05:30
Anton-4
384cf2decf
add __udivti3 to must_keep
...
Fixes Undefined Symbol in relocation...
2023-12-13 12:09:15 +01:00
Brendan Hansknecht
43cfcaef64
Merge pull request #6263 from roc-lang/fix-nightlies-try-2
...
Re-enable early DCE with fix for M1 mac
2023-12-13 01:13:07 -08:00
Bryce Miller
99e596c4a0
don't run test for gen_wasm
2023-12-12 20:54:27 -05:00
Bryce Miller
fdd6bb6006
Merge branch 'main' into list-walk-with-index-until
2023-12-12 17:57:46 -05:00
Folkert de Vries
d4a1dbc2d6
Merge pull request #6232 from roc-lang/roc-std-slices
...
expose list/string slices to rust users
2023-12-12 23:24:03 +01:00
Brendan Hansknecht
ec6d8142e7
Re-enable early DCE with fix for M1 mac
...
I won't claim to know why `__muloti4` is special, but none of the other compiler-rt functions are,
but seems to work and stop tests from hanging.
It also enables early DCE again which saves a tiny bit of compile time.
2023-12-12 10:43:14 -08:00
Folkert
ee1dd2cd14
disable a glue test that segfaults
2023-12-12 19:35:51 +01:00
Bryce Miller
8dbdd308c7
re-run test-mono
2023-12-12 07:56:30 -05:00
Bryce Miller
2db4cae9d1
Merge branch 'main' into list-walk-with-index-until
2023-12-12 07:54:42 -05:00
Bryce Miller
80dd0b6b93
run test_mono
2023-12-12 07:42:18 -05:00
Luke Boswell
1051ba6569
cargo fmt
2023-12-12 21:15:17 +11:00
Folkert
f570444901
always slice a big string as a slice (not as a small string)
2023-12-12 10:49:21 +01:00
Folkert
37ef3549c8
rename field name
2023-12-12 10:45:53 +01:00
Folkert
f742d50379
changes after review
2023-12-12 10:45:53 +01:00
Folkert
9865096c24
expose list/string slices to rust users
2023-12-12 10:45:53 +01:00
Bryce Miller
89febf52bc
Merge branch 'main' into list-walk-with-index-until
2023-12-11 23:13:21 -05:00
Bryce Miller
59eb28ef58
Add builtin List.walkWithIndexUntil
2023-12-11 23:04:40 -05:00
Brendan Hansknecht
0e842fd844
update formatting, uitest, and mono_test
2023-12-11 18:22:53 -08:00
Brendan Hansknecht
65ce79c1c5
correct Dict.update to use proper index
2023-12-11 15:35:19 -08:00
Richard Feldman
95a4bb988c
Merge pull request #6255 from roc-lang/glue-panic-handler
...
make glue use a setjmp/longjmp panic handler
2023-12-11 16:33:26 -05:00
Richard Feldman
67d7385b9a
Clean up some obsolete asserts
2023-12-11 15:15:59 -05:00
Folkert
d2d87949c8
remove random write to pointer
2023-12-11 21:07:15 +01:00
Richard Feldman
5aab05aede
Change Running program...
message in glue
2023-12-11 14:36:37 -05:00
Richard Feldman
e1697a910c
cargo fmt
2023-12-11 14:35:49 -05:00
Folkert
590282b14f
make glue use a setjmp/longjmp panic handler
2023-12-11 20:33:21 +01:00
Brendan Hansknecht
fb049b661a
Remove early DCE of builtins
...
Early DCE was sometimes cleaning up functions that we actaully still needed.
At some point we can come back to it and try to properly protect all special functions.
Until then, this still enables DCE, but it runs later with the full generated Roc module.
2023-12-11 10:44:57 -08:00
Luke Boswell
4d6546f5b0
fixes for Windows gen_num
2023-12-11 22:10:34 +11:00
Brendan Hansknecht
3120dee509
Merge pull request #6238 from roc-lang/dict-follow-up
...
Dict follow up and addition of releaseExcessCapacity
2023-12-11 02:15:44 -08:00
Brendan Hansknecht
ec3b916c8f
Merge pull request #6249 from roc-lang/refcount-ptr-naming-cleanup
...
Cleanup list and str builtin naming from refcount to allocation
2023-12-11 00:19:35 -08:00
Brendan Hansknecht
f262102299
cleanup list and str builtin naming from refcount to allocation
2023-12-10 19:52:28 -08:00
Brendan Hansknecht
156a462f1d
update uitest and mono_test
2023-12-10 11:24:22 -08:00
ptaszor3
58b73ae257
Fixed some formatting
2023-12-10 19:58:23 +01:00
Luke Boswell
648ccd463d
handle TrailingOperator error
2023-12-10 19:58:23 +01:00
Brendan Hansknecht
199e84e91e
add some missed symbols that roc needs
2023-12-10 19:58:22 +01:00
Brendan Hansknecht
eeeccfb143
fix dce of compiler-rt
2023-12-10 19:58:22 +01:00
Brendan Hansknecht
75aa84f825
Remove hashflooding comment
...
I think for now it is not worth considering adding hashflooding mitigation to the Roc Dict.
1. Wyhash is a secure enough has to pass SMHasher.
2. Languages like Go use wyhash in production and have not seen hashflooding issues.
3. We do have a random seed that Dicts use that changes per application linking. (Could monomorphize on Dict type for more randomness)
4. Any sort of fallback checks will lead to worse performance in the normal case.
5. A reasonable http server or app can limit the size of JSON or number of HTTP headers to accept.
2023-12-10 19:58:21 +01:00
Brendan Hansknecht
bd69058659
update ingested windows compiler-rt symbols
2023-12-10 19:58:21 +01:00
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
27eea90bc3
correct wrong test case
2023-12-10 19:58:19 +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
c902a01c99
update uitest and mono_test
2023-12-10 19:58:18 +01:00
Brendan Hansknecht
e877c22935
fix Dict.listGetUnsafe to map to low level without wrapping
2023-12-10 19:58:17 +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
JRI98
3a86f5de22
Fix format for the 'as' keyword
2023-12-10 19:58:16 +01:00
ptaszor3
7162fbddd3
Fixed the multiline dbg formatting
2023-12-10 19:58:09 +01:00