Commit Graph

5081 Commits

Author SHA1 Message Date
Brendan Hansknecht
440c0518f1
Change list.deinit to take alignment directly
In doing so remove the many class directly to utils.decref
2023-03-13 14:08:22 -07:00
Folkert
3de3937553
disable a test that glue cannot handle 2023-03-13 21:30:12 +01:00
Folkert de Vries
0a3b2e25a1
Merge pull request #5109 from thehabbos007/dev-x86-dbg
Add debug section to the `gen_dev` crate readme
2023-03-13 21:27:51 +01:00
Anton-4
fe066e5567
Merge branch 'main' of github.com:roc-lang/roc into tutorial_updates 2023-03-13 19:46:05 +01:00
Anton-4
310321b8ab
lock on parser package 2023-03-13 19:41:33 +01:00
Anton-4
5acc2ea3a2
Merge pull request #5127 from roc-lang/editor-launch-fix
fix `Arg::allow_invalid_utf8` clap error
2023-03-13 11:42:34 +01:00
Ahmad Sattar
cda3073efe
Add debug section to the gen_dev crate readme 2023-03-13 11:00:58 +01:00
Luke Boswell
0b054e8b47
Merge pull request #5126 from roc-lang/docs-spacing
Increase spacing between docs entries
2023-03-13 16:21:01 +11:00
Brendan Hansknecht
1c0b001897
run roc format 2023-03-12 08:53:11 -07:00
Brendan Hansknecht
85306953e9
update mono 2023-03-12 08:42:37 -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
Anton-4
9164f7e3d2
fmt 2023-03-12 15:59:31 +01:00
Anton-4
4737a5c01e
fix clap error
https://roc.zulipchat.com/#narrow/stream/257722-editor/topic/error.20when.20starting.20on.20macOS/near/339884894
2023-03-12 15:50:59 +01:00
Anton-4
fbaa257cef
Merge pull request #5118 from roc-lang/mess-with-build
Make building and CI faster
2023-03-12 14:35:34 +01:00
Richard Feldman
cc88437182
Increase spacing between docs entries
Signed-off-by: Richard Feldman <oss@rtfeldman.com>
2023-03-12 09:07:42 -04:00
Brendan Hansknecht
13245e1bb3
remove missed file that is unused 2023-03-12 00:19:06 -08:00
Brendan Hansknecht
0f0213b75e
build wasm tests with lto to avoid needing more wasm interp 2023-03-12 00:18:53 -08:00
Luke Boswell
2d0bed5634
formatting 2023-03-12 17:11:35 +11:00
Luke Boswell
182689d083
Merge remote-tracking branch 'remote/main' into docs 2023-03-12 17:08:07 +11:00
Luke Boswell
1e26769313
add support for @,_,* tokens 2023-03-12 17:01:05 +11:00
Luke Boswell
5a0a7289ba
update styles for docs 2023-03-12 16:44:05 +11:00
Richard Feldman
512b9361bf
Merge pull request #5077 from lukewilliamboswell/builtin-json
JSON decoder improvements
2023-03-11 15:28:07 -05:00
Brendan Hansknecht
df8cc231eb
rustfmt 2023-03-10 13:57:11 -08:00
Brendan Hansknecht
cb191d3788
Split utils into error and command utils
Error utils pulls in snafu which requires procedural macros.
This means it can't start compiling until syn and macro related crates are compiled.
This deals compiling all crates that depend on commands like running zig for the bitcode.
The split enables those crates to run sooner.
2023-03-10 09:39:43 -08:00
Brendan Hansknecht
d5e191d083
split up bitcode building to reduce dependency chains 2023-03-10 09:39:43 -08:00
Anton-4
49196ad032
fixing CI releated issues 2023-03-10 15:31:46 +01:00
Anton-4
e2bd3cfc8b
forgotten code fence
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2023-03-10 11:32:12 +01:00
Luke Boswell
766385a561
make colors WCAG AA compliant 2023-03-10 13:27:43 +11:00
Luke Boswell
b1e73dc8ef
add highlighting to tutorial inline snippets 2023-03-10 13:07:50 +11:00
Luke Boswell
2bed7da218
improve token categories and color scheme 2023-03-10 11:38:42 +11:00
Luke Boswell
7283a17367
Merge remote-tracking branch 'remote/main' into docs-highlight 2023-03-10 10:15:15 +11:00
Luke Boswell
14085c71a3
remove commented out builtin code 2023-03-10 10:15:05 +11:00
Folkert
e9fc9dd3f9
update mono tests 2023-03-08 23:03:32 +01:00
Folkert
fe15a2e79c
Merge remote-tracking branch 'origin/main' into glue-getters-rtfeldman 2023-03-08 19:46:00 +01:00
Folkert
938f7172dd
restore creation of the libapp.o file 2023-03-08 19:43:34 +01:00
Richard Feldman
47dd461a4a
Merge pull request #5048 from Arkham/improve-same-name-grammar
Use 'by accident' instead of 'on accident'
2023-03-08 11:26:48 -05:00
Anton-4
38ed9339b1
Merge branch 'main' into docs-highlight
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2023-03-08 15:51:03 +01:00
Anton-4
c1082686f8
Merge pull request #5108 from agu-z/fix-list-split-first-last-docs
Fix `List.splitFirst` and `List.splitLast` docs
2023-03-08 15:47:21 +01:00
Anton-4
3431d46573
adjust indent
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2023-03-08 14:50:10 +01:00
Anton-4
5bc4881c05
Merge remote-tracking branch 'upstream/main' into docs-highlight 2023-03-08 14:35:55 +01:00
Agus Zubiaga
7eedd62844
Fix List.splitFirst and List.splitLast docs
The examples in the docs appear to expect `List.splitFirst` to exclude occurrences of the delimiter in the `after` list:
```
List.splitFirst [Foo, Z, Bar, Z, Baz] Z == Ok { before: [Foo], after: [Bar, Baz] }
```
However, only the first occurrence of the delimiter in the `before` list. The `after` list contains everything after the first occurrence of the delimiter.
```
List.splitFirst [Foo, Z, Bar, Z, Baz] Z == Ok { before: [Foo], after: [Bar, Z, Baz] }
```

The same applies to `List.splitLast`

Signed-off-by: Agus Zubiaga <hi@aguz.me>
2023-03-08 10:18:42 -03:00
Folkert
69b2e03a04
remove dict/set tests for now 2023-03-08 13:54:08 +01:00
Folkert
a0276f1a13
fix stack overflow in roc type traversal 2023-03-08 13:53:16 +01:00
Luke Boswell
ae6f9067b6
fix Roc formatting 2023-03-08 18:11:49 +11:00
Luke Boswell
6e80b52d91
format and clippy 2023-03-08 17:33:49 +11:00
Luke Boswell
890f3db10a
update to support fenced code 2023-03-08 17:30:30 +11:00
Brendan Hansknecht
5e34621613
run cargo upgrade to update compatible version numbers 2023-03-07 12:39:43 -08:00
Anton-4
5e9c7b0621
fix metadata workspace, getrandom feature 2023-03-07 19:15:39 +01:00
Brendan Hansknecht
d41dd52b8d
revert glue fixtures Cargo.toml so it can be built standalone 2023-03-06 23:10:42 -08:00
Luke Boswell
a87794e7b2
Merge remote-tracking branch 'remote/main' into docs-highlight 2023-03-07 17:59:32 +11:00
Luke Boswell
5d321e354b
update mono 2023-03-07 17:28:04 +11:00
Luke Boswell
db37520a4f
Merge remote-tracking branch 'remote/main' into builtin-json 2023-03-07 17:12:47 +11:00
Brendan Hansknecht
11cccde050
clippy 2023-03-06 21:02:47 -08:00
Brendan Hansknecht
75e996c445
remove unused dependencies and ignore false positives 2023-03-06 20:09:01 -08:00
Brendan Hansknecht
f42f61e271
run a toml formatter and then clean it up a bit 2023-03-06 19:47:57 -08:00
Brendan Hansknecht
4a89bee0a5
centralize package versions except for vendor and excluded 2023-03-06 19:29:09 -08:00
Brendan Hansknecht
5485c8a5b0
update to using workspace package spec 2023-03-06 16:36:18 -08:00
Brendan Hansknecht
915f2ec49a
remove outdated compiler/str library 2023-03-06 15:03:17 -08:00
Brendan Hansknecht
e7420d5b2c
update outdated deps that don't require code changes 2023-03-06 14:20:42 -08:00
Folkert
3b59c01724
attempt to make RocSet/RocDict FFI-safe 2023-03-06 22:12:33 +01:00
Folkert
508f078d47
standardize derive order 2023-03-06 22:12:12 +01:00
Folkert
08f6774011
remove some todo!s 2023-03-06 22:11:56 +01:00
Brendan Hansknecht
0ed262d318
add missed update to use workspace dep 2023-03-06 13:06:44 -08:00
Brendan Hansknecht
43224dcca9
remove less important Cargo.lock files that we probably shouldn't track 2023-03-06 13:01:07 -08:00
Brendan Hansknecht
c9e4badd93
update as many dependencies as possible to use the workspace version of the package 2023-03-06 12:43:48 -08:00
Folkert
3455d315f3
deal with unions like Result a [] where a tag is elided 2023-03-06 21:43:17 +01:00
Brendan Hansknecht
21af20597e
remove unused dependencies 2023-03-06 12:09:00 -08:00
Folkert
53db40e2f4
dig into the lambda set to find more lambda sets 2023-03-06 20:23:48 +01:00
Brendan Hansknecht
e1719b6fe2
Merge pull request #5092 from Aurelius333/aarch64-sub_reg64_reg64_reg64
Add sub_reg64_reg64_reg64 instruction for aarch64
2023-03-06 18:21:20 +00:00
Luke Boswell
ffcb91321e
clippy 2023-03-06 22:41:06 +11:00
Luke Boswell
25b3b61e07
cargo fmt 2023-03-06 22:37:56 +11:00
Luke Boswell
5ead576976
fix indentation for code blocks 2023-03-06 22:32:25 +11:00
Luke Boswell
5e40e580cb
update docs syntax highlighting, remove unsused code 2023-03-06 22:20:49 +11:00
Ayaz Hafiz
739bdfe64e
Fix a bug in chasing assigned/hole on switch 2023-03-05 22:19:16 -06:00
Ayaz Hafiz
7914b07a2f
Eliminate unneeded joinpoints in union lambda dispatches 2023-03-05 22:10:42 -06:00
Ayaz Hafiz
8e4de80aa9
Add test for enum lambda set elimination 2023-03-05 22:01:50 -06:00
Ayaz Hafiz
a2389c7652
Eliminate joinpoints in trivial lambda set switches 2023-03-05 21:59:01 -06:00
Ayaz Hafiz
7867ffb62b
Rename test 2023-03-05 21:47:06 -06:00
Ayaz Hafiz
9166922e39
Remove unused is_terminal 2023-03-05 21:41:50 -06:00
Ayaz Hafiz
fb5ac9fc6e
Check in failing reproduction for #5086 2023-03-05 21:40:10 -06:00
Folkert
0412dec4b1
fix repl problem 2023-03-05 20:58:22 +01:00
Folkert
e308078af5
fix compile error in tests 2023-03-05 18:11:30 +01:00
Folkert
fba66c03b7
temp fix to get this passing 2023-03-05 17:37:03 +01:00
Folkert
853c0387dc
cleanup 2023-03-05 17:33:48 +01:00
Folkert
d224992bc1
Merge remote-tracking branch 'origin/main' into glue-getters-rtfeldman 2023-03-05 17:24:05 +01:00
Folkert
769a4c415b
update remaining cli tests 2023-03-05 16:57:51 +01:00
Folkert de Vries
f500e5dfb6
Merge pull request #5090 from joshuawarner32/add-operators
Produce combined tokens directly and add a few operators
2023-03-05 13:20:46 +01:00
Brendan Hansknecht
dc77916bb5
Merge pull request #5088 from roc-lang/reorg-build
move build_file and related functions to roc_build
2023-03-05 12:18:35 +00:00
Luke Boswell
ac95c9a71a
update mono tests 2023-03-05 19:05:24 +11:00
Ajai Nelson
0b2567cf26
Add sub_reg64_reg64_reg64 instruction for aarch64 2023-03-05 02:10:39 -05:00
Luke Boswell
5933d6b7e7
improve Json test coverage and fix decoding bugs 2023-03-05 17:00:10 +11:00
Joshua Warner
2dfe373311
Produce combined tokens directly and add a few operators
This (I believe) brings us in line with the complete set of operators supported in Roc.
2023-03-04 21:42:33 -08:00
Luke Boswell
91adf0f411
Merge remote-tracking branch 'origin/main' into builtin-json 2023-03-05 15:58:58 +11:00
Brendan Hansknecht
9894f52afd
update missed uses of roc_cli::build 2023-03-04 10:19:26 -08:00
Brendan Hansknecht
7a944113a0
move build_file and related functions to roc_build
This is needed of glue to be able to call build_file.
Also does some other changes to avoid circular dependencies.
2023-03-04 10:00:43 -08:00
Anton-4
a8a600e056
Merge remote-tracking branch 'upstream/main' into improve-same-name-grammar 2023-03-04 14:16:32 +01:00
Anton-4
89350a1c56
Merge branch 'main' of github.com:roc-lang/roc into cli_run_race_condition 2023-03-04 14:12:02 +01:00
Anton-4
e5aa27d19b
add lock for breakout 2023-03-04 14:11:48 +01:00
Brendan Hansknecht
0aa932d014
fix mem leak in Str.trim and make all Str.trim* functions consistent 2023-03-02 22:18:26 -08:00
Joshua Warner
3b5f6ef828
Merge pull request #5080 from lukewilliamboswell/parser-highlight2
Fix bug for static-site syntax highlighting
2023-03-02 17:20:16 -08:00
Brendan Hansknecht
66a7d08363
make List.mapN properly add all decrefs 2023-03-02 07:24:49 -08:00
Richard Feldman
82663fd30d
Merge pull request #5076 from roc-lang/fix-list-range
Fix List.range crashing
2023-03-01 19:29:24 -05:00
Folkert
180187e5af
get old examples to work 2023-03-01 21:56:14 +01:00
Folkert
706894d37a
new names for mainforhost 2023-03-01 21:55:42 +01:00
Anton-4
cf913814cb
fmt 2023-03-01 19:57:39 +01:00
Anton-4
7b5989e4ef
Merge branch 'main' of github.com:roc-lang/roc into cli_run_race_condition 2023-03-01 19:50:52 +01:00
Luke Boswell
f51aef42bb
add support for slashes 2023-03-01 19:06:15 +11:00
Luke Boswell
c9ffedb483
add ? token 2023-03-01 18:38:16 +11:00
Luke Boswell
5f8629f64e
bug fix for highlighting 2023-03-01 18:00:30 +11:00
Brendan Hansknecht
a87aec77b4
Merge pull request #5068 from roc-lang/gen-dev-i128
gen-dev: num additions
2023-02-28 16:29:42 +00:00
Luke Boswell
58d4faa0da
handle escapes in JSON string decoder 2023-02-28 20:53:57 +11:00
Luke Boswell
1590b30b19
Add a lexing-based 'highlight' mode to the parser
basic syntax highlighting

added more syntax highlighting coverage

add example of a markdown table with styling

move FIXED_TOKEN logic into highlight

refactor highlight, add support for backpassing

escape html from source code

fix bug with <pre> tag ordering

refactor out html from roc_parse

remove test, put highlight functionality into separate file

fix typo
2023-02-28 17:03:49 +11:00
Brendan Hansknecht
865bae9468
clarify type for test 2023-02-27 18:41:31 -08:00
Brendan Hansknecht
c4d56f1dc9
update formatting 2023-02-27 16:43:35 -08:00
Brendan Hansknecht
a86c8d7994
update mono tests 2023-02-27 16:36:08 -08:00
Brendan Hansknecht
f77d1dcd6b
fix List.range so that it will only crash when Length is too large 2023-02-27 16:01:05 -08:00
Anton-4
f07c126133
lock zig platform building 2023-02-27 18:01:32 +01:00
Anton-4
4157c0e72d
patch instruction reference link
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2023-02-27 12:25:18 +01:00
Folkert
1f296a5907
fix test I broke 2023-02-26 22:32:19 +01:00
Folkert
44f08f9e47
implement sqrt and log in the dev backend 2023-02-26 21:41:25 +01:00
Folkert
6a40d75353
float comparisions 2023-02-26 18:14:11 +01:00
Folkert
f1fa014524
support 128-bit literals 2023-02-26 15:11:49 +01:00
Folkert
fa05c49693
correct the name of the size() exposed function 2023-02-26 14:23:10 +01:00
Folkert
454f3c603e
give the new exposed symbols to the surgical linker 2023-02-25 19:35:46 +01:00
Folkert
fee5e978f7
use roc_alloc to store unsized types 2023-02-25 16:45:58 +01:00
Folkert
f232bdda4f
fix some glue formatting 2023-02-25 16:32:10 +01:00
Folkert
1bf2cc3b8c
cleanup 2023-02-25 16:23:40 +01:00
Folkert
a3e759cc3c
fix generation of C signature when roc returns c_void 2023-02-25 16:05:09 +01:00
Folkert
35980e50b8
fix function getters 2023-02-25 15:47:20 +01:00
Anton-4
fba4075d1a
Merge branch 'main' of github.com:roc-lang/roc into remove_rodio 2023-02-25 12:13:23 +01:00
Anton-4
4d91fe01ca
update mono tests 2023-02-24 14:35:05 +01:00
Folkert
033618f3f4
fixes to get rocLovesRust to work 2023-02-22 21:17:50 +01:00
Folkert
5ab2466872
fix merge conflict in the dev backend 2023-02-22 21:12:07 +01:00
Folkert
0d4135c57a
Merge remote-tracking branch 'origin/main' into glue-getters-rtfeldman 2023-02-22 21:11:39 +01:00
Folkert
9897367038
fix merge conflict in the dev backend 2023-02-22 13:13:40 +01:00
Folkert de Vries
34340de60c
Merge pull request #5020 from roc-lang/dev-unbox-u32
dev backend: reading and writing 32, 16 and 8-bit values
2023-02-21 17:33:21 +01:00
Anton-4
091e043168
removed rodio and deps 2023-02-21 15:38:11 +01:00
Folkert de Vries
bd6623dab4
Merge pull request #5055 from roc-lang/abilities-bug-generic
Lambda set compaction must preserve unique specializations of concrete types
2023-02-21 15:24:23 +01:00
Ayaz Hafiz
fbc75016e1
Check in mono goldens 2023-02-20 19:31:22 -06:00
Folkert de Vries
088bd5211f
Merge pull request #5054 from roc-lang/glue-generate-lambda-set-callers
Glue generate lambda set callers
2023-02-21 02:19:53 +01:00
Ayaz Hafiz
7a4fed932d
Add gen tests for concerete unspecialized set conservation 2023-02-20 18:59:48 -06:00
Ayaz Hafiz
d7a069675b
Lambda set compaction must preserve unique specializations of concrete types
There are times that multiple concrete types may appear in
unspecialized lambda sets that are being unified. The primary case is
during monomorphization, when unspecialized lambda sets join at the same
time that concrete types get instantiated. Since lambda set
specialization and compaction happens only after unifications are
complete, unifications that monomorphize can induce the above-described
situation.

In these cases,

- unspecialized lambda sets that are due to equivalent type variables
  can be compacted, since they are in fact the same specialization.
- unspecialized lambda sets that are due to different type variables
  cannot be compacted, even if their types unify, since they may point
  to different specializations. For example, consider the unspecialized
  lambda set `[[] + [A]:toEncoder:1 + [B]:toEncoder:1]` - this set wants
  two encoders, one for `[A]` and one for `[B]`, which is materially
  different from the set `[[] + [A, B]:toEncoder:1]`.
2023-02-20 18:50:07 -06:00
Ayaz Hafiz
f7aa7e734d
Pass interner through to debug proc layouts misisng in param map 2023-02-20 18:49:29 -06:00
Ayaz Hafiz
e5c3376e90
Debug ProcLayouts 2023-02-20 18:49:18 -06:00
Ayaz Hafiz
5a1898b285
Pretty-print opaque refs 2023-02-20 18:42:05 -06:00
Ayaz
2f251310c0
Merge pull request #5010 from roc-lang/tuple-record-unify
Unify IR generation for tuples and records
2023-02-20 18:40:52 -06:00
Folkert
958d44a21c
cleanup 2023-02-20 22:25:48 +01:00
Folkert
68524ef07e
generate callers based on layout traversal 2023-02-20 22:05:35 +01:00
Folkert de Vries
c6089ebb6a
Merge pull request #5041 from thehabbos007/eq
gen_dev x86: misc low-level bool comparison functions
2023-02-20 08:51:11 +01:00