Commit graph

17413 commits

Author SHA1 Message Date
Ayaz Hafiz
b61ffd3684
Add more test gen for derived impls 2022-07-13 08:47:39 -04:00
Ayaz Hafiz
df9bcb1a0c
Use Derived_synth for synthesizing implementations, and Derived_gen for codegen 2022-07-13 08:47:39 -04:00
Ayaz Hafiz
7c2e806a02
Make sure to clone lambda names in can/copy 2022-07-13 08:47:39 -04:00
Ayaz Hafiz
987ebfa9d3
Move expr copying to can 2022-07-13 08:47:39 -04:00
Ayaz Hafiz
63adb901b4
A couple hacks to get deriving of records working.. but it's working? 2022-07-13 08:47:38 -04:00
Ayaz Hafiz
801803d813
Make sure to union tag outcomes all the way 2022-07-13 08:47:38 -04:00
Ayaz Hafiz
719c774acf
Fix errors 2022-07-13 08:47:38 -04:00
Ayaz Hafiz
dd93b5bd51
Update mono tests 2022-07-13 08:47:38 -04:00
Ayaz Hafiz
8d90f2c13e
Fix some compile errors 2022-07-13 08:47:38 -04:00
Ayaz Hafiz
91e3bfbd01
Fix tests 2022-07-13 08:47:38 -04:00
Ayaz Hafiz
9a01117536
Fix compile errors 2022-07-13 08:47:37 -04:00
Ayaz Hafiz
9760462ec5
Ignore record deriving test for now 2022-07-13 08:47:37 -04:00
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 de Vries
f5061f11c6
Merge pull request #3505 from rtfeldman/i3499
Typecheck and compile opaque wrapping functions
2022-07-13 14:10:43 +02:00
Richard Feldman
179289e650
Merge pull request #3491 from rtfeldman/www
Fix Web REPL deployment
2022-07-12 21:53:21 -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
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
Brian Carroll
3f2089ef5c
www: change asset paths to work in prod as well as locally 2022-07-12 22:44:57 +01: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
Richard Feldman
eadc4a41ff
Merge pull request #3495 from rtfeldman/nix-linux-workflow
also do `cargo test...` in nix on linux
2022-07-12 15:58:04 -04: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
Richard Feldman
b3d51c7530
Merge pull request #3394 from rtfeldman/url
Url.roc
2022-07-12 15:13:27 -04:00
Richard Feldman
c29d2556b2
roc format Url.roc 2022-07-12 13:03:49 -04:00
Richard Feldman
b770675670
Merge remote-tracking branch 'origin/trunk' into url 2022-07-12 12:54:27 -04:00
Richard Feldman
f5f137982c
Merge pull request #3432 from rtfeldman/fmt-multiline-when
Format multiline `when` branches
2022-07-12 12:54:11 -04:00
Anton-4
0459cc9ce0
added full path for nix 2022-07-12 18:46:03 +02:00
Anton-4
6a3e7dae27
also test nix on linux 2022-07-12 17:41:52 +02:00