Commit graph

3345 commits

Author SHA1 Message Date
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
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
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
Anton-4
4d91fe01ca
update mono tests 2023-02-24 14:35:05 +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
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
Richard Feldman
c60360593f
Merge pull request #5050 from joshuawarner32/fuzzing
Fix several fmt+parse bugs found by fuzzing
2023-02-19 22:38:42 -05:00
Joshua Warner
b5f284cd78
Fix several fmt+parse bugs found by fuzzing 2023-02-19 12:37:33 -08:00
Folkert
5b52cfe79b
disable str_append_scalar; it segfaults for unclear reasons 2023-02-18 23:18:48 +01:00
Folkert
bece06ba10
work around universally quantified type variable 2023-02-18 18:12:32 +01:00
Folkert
90c45a197b
use extracted functions 2023-02-18 17:57:50 +01:00
Folkert
784ebde24b
helper functions 2023-02-18 17:34:41 +01:00
Folkert
edd10a079c
create hook for future glue proc codegen 2023-02-18 17:34:23 +01:00
Folkert
aac8c76c5f
fix mono tests 2023-02-18 16:43:51 +01:00
Folkert
808262892e
fix off-by-one error in loop condition 2023-02-18 16:42:47 +01:00
Folkert
b2a875c355
use debug_assert_eq 2023-02-18 16:42:47 +01:00
Folkert
03867fdc1f
str to num 2023-02-18 16:42:46 +01:00
Folkert
93fb1c73e6
str splits 2023-02-18 16:42:46 +01:00
Folkert
a3d5e7bee5
fully implement sign/zero extension 2023-02-18 16:42:46 +01:00
Folkert
4e38a4ce32
enable some utf8 conversion tests 2023-02-18 16:42:46 +01:00
Folkert
aa113f169c
string equality 2023-02-18 16:42:45 +01:00
Folkert
816828040d
tests for boxing/unboxing floats 2023-02-18 16:42:45 +01:00
Folkert
b968122bee
simplify systemv argument storing and loading 2023-02-18 16:42:45 +01:00
Folkert
89201676ef
make is_primitive look through LambdaSet 2023-02-18 16:42:44 +01:00
Folkert
4b31c77b37
paramter ownership is not important for codegen 2023-02-18 16:42:44 +01:00
Folkert
78000b3f19
enable more list tests 2023-02-18 16:42:44 +01:00
Folkert
9f5f80581e
add test that passes a struct < 16 bytes 2023-02-18 16:42:43 +01:00
Folkert
a66320b00c
count utf bytes 2023-02-18 16:42:43 +01:00
Folkert
e48a604862
add Str.appendScalar 2023-02-18 16:42:43 +01:00
Folkert
92539fe3b0
Revert "implment 8bit logical operators"
This reverts commit 87c49679e1ac5bcfb710b6d432a9f503db3ee501.
2023-02-18 16:42:42 +01:00
Folkert
f6fbfa002b
implment 8bit logical operators 2023-02-18 16:42:42 +01:00