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
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
J.Teeuwissen
e5a5108fd8
lowlevel_borrow_signature
2023-03-04 13:23:15 +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
Anton-4
cf913814cb
fmt
2023-03-01 19:57:39 +01:00
J.Teeuwissen
9d9a6ea05a
refcount Dbg, ExpectFx, Expect
2023-03-01 12:00:51 +01:00
J.Teeuwissen
0070d3708e
Shuffled variable_usage_expr
2023-03-01 10:52:10 +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
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
J.Teeuwissen
046de72eac
only process ByName for now
2023-02-26 12:21:05 +01:00
J.Teeuwissen
73e36b826b
join point fixed point
2023-02-26 10:18:31 +01:00
Folkert
454f3c603e
give the new exposed symbols to the surgical linker
2023-02-25 19:35:46 +01:00
J.Teeuwissen
756d4d6485
body_env
2023-02-25 17:55:12 +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
J.Teeuwissen
336c821284
Temp fix for recursive joint points
2023-02-24 17:52:02 +01:00
Anton-4
4d91fe01ca
update mono tests
2023-02-24 14:35:05 +01:00
J.Teeuwissen
0afe94e6db
Start new free var inference and joint points
2023-02-23 16:12:25 +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
J.Teeuwissen
9c73b5041a
stash
2023-02-22 17:43:43 +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
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