Commit graph

562 commits

Author SHA1 Message Date
Ayaz Hafiz
9826253785
Deriving string encoders works 2022-07-13 08:47:37 -04:00
Ayaz Hafiz
a17748ea01
Wrap toEncoder derivers in Encode.custom for now 2022-07-13 08:47:37 -04:00
Ayaz Hafiz
6f9b3553e4
Add Encode.custom captures test 2022-07-13 08:47:37 -04:00
Ayaz Hafiz
445d922f3b
Compact lambda sets with structural derived ability impls 2022-07-13 08:47:37 -04:00
Ayaz Hafiz
9caa09b2c0
Include type, symbol header in derived goldens 2022-07-13 08:47:36 -04:00
Ayaz Hafiz
e940fed3a8
Store specialization lambda sets of derived ability impls 2022-07-13 08:47:36 -04:00
Ayaz Hafiz
fbc2052e83
Use insta crate for snapshot tests
Wow, this makes snapshot testing so much easier!!
2022-07-13 08:47:36 -04:00
Ayaz Hafiz
766ccc97f7
Add comment 2022-07-13 08:47:36 -04:00
Ayaz Hafiz
d8bee6cd18
Perfom derives from global derives module, not just symbol table 2022-07-13 08:47:36 -04:00
Ayaz Hafiz
61db0b6260
Move derivers to their own crate 2022-07-13 08:47:36 -04:00
Ayaz Hafiz
088b443e05
Refactor lambda set compaction so it's better split up 2022-07-13 08:47:35 -04:00
Ayaz Hafiz
fd9dcd8551
Have derivers rely only on exposed module types 2022-07-13 08:47:35 -04:00
Ayaz Hafiz
f481f6da6c
Don't require subs exporting types to be mutable 2022-07-13 08:47:35 -04:00
Ayaz Hafiz
bee7d15aae
Comment out debugs for now 2022-07-13 08:47:35 -04:00
Ayaz Hafiz
b377155acd
Get rid of ExposedByModule::remove for now 2022-07-13 08:47:35 -04:00
Ayaz Hafiz
16e64263f6
Correctly monomorphize all derived methods 2022-07-13 08:47:34 -04:00
Ayaz Hafiz
d56d880afb
Option<SpecializationId> rather than SpecializationId = Option<..> 2022-07-13 08:47:34 -04:00
Ayaz Hafiz
2fbe715f9f
Support null specialization ids 2022-07-13 08:47:34 -04:00
Ayaz Hafiz
6e1698775f
Make sure to update uls_of_var when importing variables directly to a usage site 2022-07-13 08:47:34 -04:00
Ayaz Hafiz
e8fb186d79
Load derived member impls into derived module for mono 2022-07-13 08:47:34 -04:00
Ayaz Hafiz
a8006d225e
Include derives module in dependencies status 2022-07-13 08:47:34 -04:00
Ayaz Hafiz
da6eda03b2
Make specializations for derives after all other modules are specialized 2022-07-13 08:47:33 -04:00
Folkert
d657a8cadc
add code to trigger an expect failure 2022-07-13 14:43:10 +02:00
Folkert
d33beedcd0
add the zig bits for expects 2022-07-13 14:40:07 +02:00
Folkert
68c51782e6
skeleton for running pretty expects 2022-07-13 14:32:47 +02:00
Folkert
cbd6052dbb
fix dict/set not being in scope 2022-07-13 14:04:38 +02:00
Folkert
439db7027d
update size asserts 2022-07-13 12:31:32 +02:00
Folkert
bba8d40813
clippy 2022-07-13 12:04:22 +02:00
Folkert
6c26d8812f
remove dict/hash stuff from the zig builtins 2022-07-13 11:59:46 +02:00
Folkert
4d55b756bb
remove dict/set layout 2022-07-13 11:41:19 +02:00
Folkert
5aef349f09
comment list with void type 2022-07-13 11:34:07 +02:00
Folkert
cf69d41a7b
implement set operations on dict 2022-07-13 11:33:39 +02:00
Folkert
8e21fdcb04
remove dict/set lowlevels 2022-07-13 11:24:07 +02:00
Folkert
79f8ae4e69
make Set/Dict mostly work 2022-07-13 11:15:57 +02:00
Folkert
9a51737a47
fix use after free 2022-07-13 10:34:30 +02:00
Richard Feldman
5f430034f3
roc format List.roc 2022-07-12 22:04:55 -04:00
Richard Feldman
455dde1ba4
Merge remote-tracking branch 'origin/trunk' into string-memory-problems 2022-07-12 22:03:49 -04:00
Ayaz Hafiz
8393778159
Typo 2022-07-12 21:15:33 -04:00
Ayaz Hafiz
6985b2b6a1
Pretty print opaque wrap functions 2022-07-12 21:15:14 -04:00
Folkert
4d33e32078
comment 2022-07-13 01:09:03 +02:00
Folkert
3b2b0bba64
fix test syntax 2022-07-13 01:06:27 +02:00
Folkert
0e080f95ca
remove dict/set layout gen 2022-07-13 01:00:46 +02:00
Folkert
66c0b7d9fd
formatting 2022-07-13 01:00:27 +02:00
Ayaz Hafiz
f1a6ea6a40
Typecheck and compile opaque wrapping functions
This enables you to write something like

```
A := U8
List.map [1, 2, 3] @A
```

which will be compiled as if it was `List.map [1, 2, 3] \x -> @A x`.

Closes #3499
2022-07-12 18:38:03 -04:00
Folkert
f9d8e01561
implement Dict/Set completely in roc 2022-07-13 00:35:20 +02:00
Folkert de Vries
d889f1fda9
Merge pull request #3498 from rtfeldman/no-line-numbers-in-runtime-error-function
Remove compiler-file/line-dependent runtime error messages
2022-07-12 23:04:06 +02:00
Folkert de Vries
846bab7425
Merge pull request #3493 from rtfeldman/deep-copy-var-in-body
mono copy: deep copy all vars in an expr
2022-07-12 23:02:27 +02:00
Folkert
bc24841921
Str.fromUtf8Range: take list argument as owned; make sure it's decremented in the small string case 2022-07-12 22:57:48 +02:00
Folkert
32207beedf
List.sublist: make sure input list is decremented if slice length is 0 2022-07-12 22:51:44 +02:00
Ayaz Hafiz
94142bf474
Remove compiler-file/line-dependent runtime error messages
This will help avoid the diff changes we've been running into often when
changes to mono line numbers change test results.
2022-07-12 15:17:19 -04:00