Commit graph

377 commits

Author SHA1 Message Date
Folkert
bb97c384bb
preserve semantics in the glue generation 2023-07-09 15:47:28 +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
Anton-4
c4b0a2ec29
Merge pull request #5620 from roc-lang/dict-set
Add some missing Dict and Set functions
2023-06-29 12:06:49 +02:00
Richard Feldman
437fb7e46c
Update mono tests 2023-06-27 14:53:48 -04:00
Folkert
7e380d9533
update mono tests 2023-06-27 19:39:26 +02:00
Folkert
ae47cc5171
in TRMC, still apply normal TCE 2023-06-24 19:45:44 +02:00
Folkert
654cf7b861
changes after review 2023-06-24 14:49:57 +02:00
Folkert
f7104bfe54
update mono tests 2023-06-24 14:49:55 +02:00
Folkert
bc64e4b92b
fix layout check issue 2023-06-24 14:49:53 +02:00
Folkert
f797b59d82
mono test 2023-06-24 14:49:51 +02:00
Folkert
9c85fb90d3
fix bugs 2023-06-24 14:49:47 +02:00
J.Teeuwissen
495bbfd944
updated test 2023-06-19 22:51:10 +02:00
J.Teeuwissen
78c1855b66
Fixed logic 2023-06-19 17:41:57 +02:00
Kilian Vounckx
402a89237d
Add Num.bitwiseNot function 2023-06-17 20:08:33 +02:00
KilianVounckx
0dd8bb9841
Merge branch 'roc-lang:main' into num-constants 2023-06-17 15:09:30 +02:00
Ayaz Hafiz
5488b3a3eb
Fix mono tests 2023-06-16 10:30:44 -05:00
Kilian Vounckx
ab0969f7bb
Add fractional constants 2023-06-15 20:31:17 +02:00
Ayaz Hafiz
c91b82198d
Use correct variable when compiling dbg continuation
Closes #5479
2023-06-13 16:45:02 -05:00
Folkert de Vries
79e9ba3dd1
Merge pull request #5529 from JTeeuwissen/joinpoint-specialisation
Joinpoint specialisation
2023-06-13 18:42:02 +02:00
J.Teeuwissen
fbf3faeaf1
Simplified logic 2023-06-10 23:55:14 +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
Fábio Beirão
250c50e018
Update the test_mono/generated folder 2023-06-09 18:09:37 +02:00
Luke Boswell
15b7b62c4f
merge remote/main, fix merge conflicts, update mono 2023-06-08 19:41:53 +10: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
J.Teeuwissen
36f90c05e2
updated Stmt::Dbg 2023-06-07 08:34:36 +02:00
Ayaz Hafiz
43259b9ad6
Compile dbgs that appear in expects
Closes #5480
2023-06-06 18:07:34 -05:00
Ayaz Hafiz
c0e52f9e54
Fix mono tests 2023-06-06 16:04:43 -05:00
Ayaz Hafiz
9187286580
Fix mono output 2023-06-06 16:04:42 -05:00
Ayaz Hafiz
a6b3656471
Begin generating newtype wrappers for struct layouts 2023-06-06 16:04:41 -05:00
Luke Boswell
c1ff49be6c
change just Json module name 2023-06-04 17:37:01 +10:00
Kilian Vounckx
7f5e6299ab
Generate tests 2023-06-01 18:40:31 +02:00
KilianVounckx
8b85f966fd
Merge branch 'roc-lang:main' into list-update 2023-06-01 11:16:33 +02:00
J.Teeuwissen
93ea086115
Merge branch 'main' into record-update-index-top 2023-05-30 10:47:19 +02:00
Kilian Vounckx
d43a78d000
Add update to symbols table and auto generate test_mono 2023-05-30 09:07:15 +02:00
Folkert de Vries
ef05ec6906
Merge pull request #5452 from JTeeuwissen/save-construction-children
Add construction (Struct/TagId/List/Box) to known parent/child relations
2023-05-29 22:21:44 +02:00
Brendan Hansknecht
fa57788c09
Merge pull request #5460 from roc-lang/dict-tuple
switch Dict to real tuples
2023-05-29 15:00:38 +00:00
J.Teeuwissen
b7a7a735fc
keep inc env always, but set count to 0. 2023-05-29 12:09:18 +02:00
J.Teeuwissen
079290dcaf
Keep 0 in counting map 2023-05-29 10:54:09 +02:00
J.Teeuwissen
e29af85dcf
Fixed tests 2023-05-29 08:39:59 +02:00
J.Teeuwissen
6e6e1ce833
Merge remote-tracking branch 'origin/main' into save-construction-children 2023-05-28 20:08:22 +02:00
Folkert de Vries
cf20c74eb9
Merge pull request #5436 from JTeeuwissen/drop-specialize-over-matches
allow lowlevel and match
2023-05-28 19:59:14 +02:00
J.Teeuwissen
c6e7d56fb6
For single update 2023-05-27 21:29:32 +02:00
J.Teeuwissen
16da790fac
Order by index + clippy 2023-05-27 14:52:25 +02:00
J.Teeuwissen
378a298b45
move record index to start of update 2023-05-27 14:42:37 +02:00
Brendan Hansknecht
9eb7019e73
update mono and uitests 2023-05-26 15:44:31 -07:00
J.Teeuwissen
b0705a00ad
saved info and added test 2023-05-26 15:56:18 +02:00
Brendan Hansknecht
0c13564ad7
update mono and uitests 2023-05-25 11:01:14 -07:00
Ayaz Hafiz
7f639e485a
Update mono tests 2023-05-24 14:14:14 -05:00