Commit graph

178 commits

Author SHA1 Message Date
Anton-4
1126f85b5a
fix clippy unnecessary hashes 2024-01-01 16:38:36 +01:00
JRI98
689a1ff352
Fix list rest bind in when branch tuple destructure 2023-12-21 11:55:29 +00:00
Anton-4
eaa085fa93
more visible+better mono error 2023-12-13 17:38:20 +01:00
Brendan Hansknecht
e5a0af5699
make DbgFormatter an unexposed implementation detail 2023-12-03 12:41:04 -08:00
Brendan Hansknecht
9b181e1b3f
add inspect implementation for dict and set 2023-11-28 16:40:42 -08:00
Brendan Hansknecht
32c3d49e85
ignore unimlemented ability test case 2023-11-28 16:40:42 -08:00
Brendan Hansknecht
21b68a2e27
add a set of currently failing mono tests for inspect 2023-11-28 16:40:42 -08:00
Elias Mulhall
0ccc71389a
move pattern desugar tests to test_mono 2023-11-26 20:26:43 -05:00
Isaac Van Doren
139d3c6f89
make dropFirst and dropLast drop n elements 2023-10-29 13:23:33 -05:00
Richard Feldman
2da41be29f
Merge remote-tracking branch 'origin/main' into abilities-syntax 2023-08-10 20:36:01 -04:00
Ayaz
b36ad76cdd
Merge pull request #5576 from roc-lang/spike-erasure
Implement function erasure
2023-07-17 03:27:29 -05:00
Folkert
48fa4f7a8e
When possible, prefer NonNullableUnwrapped over NullableWrapped
e.g. in the scenario of `[ A Str, B, C, D ]`, rather than having one tag be nullable, we want
to store the tag id in the pointer. This generally saves 8 bytes for
every allocation, and prevents an allocations for all tags except A.
2023-07-16 20:06:46 +02:00
Ayaz Hafiz
44c4797d9a
Parameterize program solving on a FunctionKind
This new flag determines whether we should introduce a new kind to
represent lambda sets, or whether lambdas should be erased. The latter
is not yet implemented.
2023-07-12 13:53:50 -05:00
Folkert
ef39bad7c6
auto clippy fixes 2023-07-10 18:27:08 +02:00
Ayaz Hafiz
a5e1558a6e
Do not drop uninhabited captures from lambda sets
Previously, we would drop uninhabited captures from lambda sets' runtime
representations, which meant sets like

```
[L1 {a: Str}, L2 {a: []}]
```

had runtime representation

```
{Str}
```

rather than

```
Union({Str}, {[]})
```

if we drop unreachable lambdas from the representation, then the
reachable lambdas are somewhat more efficient to compile (as there are
less material tag options), but the compiler complexity increases
because we must represent voided capture sets in the lambda set.

Even if a lambda has voided captures, we must specialize it, because
failing to do so opens us up to losing relevant specializations needed
later on. See 2f7020aa31 for a
previous occurence of that.

As such, simply keep voided layouts in place during lambda set
compilation. The optimizer should elide them anyway.
2023-06-29 17:32:50 -05:00
Folkert
ae47cc5171
in TRMC, still apply normal TCE 2023-06-24 19:45:44 +02:00
Folkert
9c85fb90d3
fix bugs 2023-06-24 14:49:47 +02:00
Folkert
4a9514d2c4
rough implementation 2023-06-24 14:49:46 +02:00
Ayaz Hafiz
c91b82198d
Use correct variable when compiling dbg continuation
Closes #5479
2023-06-13 16:45:02 -05:00
Folkert
ed3551a14c
make more mono tests use larger stack 2023-06-10 23:58:42 +02:00
J.Teeuwissen
46bff75517
progress 2023-06-10 23:55:09 +02:00
J.Teeuwissen
d735742fdb
used resulting incremented_symbols 2023-06-10 23:54:00 +02:00
J.Teeuwissen
94fb89bde4
Start drop specialisation for joinpoints 2023-06-10 23:53:19 +02:00
Bryce Miller
0132df9b5a
merge main 2023-06-10 15:04:25 -04:00
Luke Boswell
15b7b62c4f
merge remote/main, fix merge conflicts, update mono 2023-06-08 19:41:53 +10:00
Bryce Miller
e463ccf4a6
merge main 2023-06-07 20:36:54 -04:00
Ayaz
c7f5007cd8
Merge pull request #5400 from roc-lang/semantic-layouts-for-newtypes
Implement semantic layouts for newtypes
2023-06-07 05:39:20 -05:00
Ayaz Hafiz
43259b9ad6
Compile dbgs that appear in expects
Closes #5480
2023-06-06 18:07:34 -05:00
Ayaz Hafiz
4e690103b0
Use larger stacks for some mono tests 2023-06-06 16:05:12 -05:00
Bryce Miller
cb08225bf0
| -> where 2023-06-05 20:19:00 -04:00
Luke Boswell
c1ff49be6c
change just Json module name 2023-06-04 17:37:01 +10:00
Bryce Miller
7e8a151604
Merge branch 'main' into abilities-syntax 2023-06-01 12:57:16 -04:00
J.Teeuwissen
93ea086115
Merge branch 'main' into record-update-index-top 2023-05-30 10:47:19 +02:00
Bryce Miller
ffa622e065
Merge branch 'main' into abilities-syntax
Signed-off-by: Bryce Miller <sandprickle@users.noreply.github.com>
2023-05-29 13:42:36 +02:00
J.Teeuwissen
8f022d4310
fixed specialisation box 2023-05-28 21:18:28 +02:00
J.Teeuwissen
d988ab5378
newlines 2023-05-28 20:09:43 +02:00
J.Teeuwissen
6e6e1ce833
Merge remote-tracking branch 'origin/main' into save-construction-children 2023-05-28 20:08:22 +02:00
J.Teeuwissen
378a298b45
move record index to start of update 2023-05-27 14:42:37 +02:00
J.Teeuwissen
b0705a00ad
saved info and added test 2023-05-26 15:56:18 +02:00
Bryce Miller
91e37293a2
abilities syntax has -> implements 2023-05-24 21:29:38 -04:00
J.Teeuwissen
d7304f86e5
allow lowlevel and match 2023-05-24 16:13:24 +02:00
David Smith
7f1a242a7c
Disable some tests in debug failing with stack overflow 2023-05-17 16:33:59 -04:00
Richard Feldman
a6bda6eccf
Merge pull request #5163 from lukewilliamboswell/builtin-json
More tests and updates for Json builtin
2023-05-15 19:08:54 -04:00
Luke Boswell
4d4cfcf981
merge remote/main and update mono tests 2023-05-15 16:51:56 +10:00
J.Teeuwissen
ec731443c4
moved drop specialization up 2023-05-15 00:53:07 +02:00
J.Teeuwissen
d82f3ee09d
Start reuse similar layouts 2023-05-15 00:51:33 +02:00
Ayaz Hafiz
155375062a
Fmt 2023-05-02 10:52:49 -05:00
Ayaz
19c04c69c0
Merge branch 'main' into i5318
Signed-off-by: Ayaz <20735482+ayazhafiz@users.noreply.github.com>
2023-05-01 18:47:56 -05:00
Ayaz Hafiz
a9975b1f7f
Crash at runtime rather than panicking when if condition is erroneous
Closes #5318
2023-05-01 15:48:05 -05:00
Ayaz Hafiz
1916a6dba5
Add mono test for #4770
Closes #4770
2023-05-01 13:14:59 -05:00