Commit graph

448 commits

Author SHA1 Message Date
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
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
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
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
f5f137982c
Merge pull request #3432 from rtfeldman/fmt-multiline-when
Format multiline `when` branches
2022-07-12 12:54:11 -04:00
Ayaz Hafiz
669d69c4cf
Clippy 2022-07-12 11:29:11 -04:00
Ayaz Hafiz
e626bac931
Be extremely aggressive about inlining 2022-07-12 11:00:05 -04:00
Ayaz Hafiz
0274691813
Preserve uls_of_var when copying types 2022-07-12 10:58:21 -04:00
Ayaz Hafiz
4707b11727
Clone tag and field names across subs, add a test 2022-07-12 10:47:44 -04:00
Ayaz Hafiz
c915707c83
Get rid of arenas 2022-07-12 10:07:34 -04:00
Ayaz Hafiz
46fdda333f
Use a trait to do copies 2022-07-12 10:02:11 -04:00
Ayaz Hafiz
c3b2e9aa97
Add copy expr test 2022-07-12 09:30:51 -04:00
Ayaz Hafiz
7031d26299
mono copy: copy all vars in deep expr 2022-07-12 09:18:43 -04:00
Richard Feldman
c61795197f
Merge pull request #3478 from rtfeldman/toplevel-expect-captures
toplevel expect captures
2022-07-12 08:58:19 -04:00
Richard Feldman
f5fac8230f Prune some unused dependencies 2022-07-11 20:51:41 -04:00
Folkert de Vries
e8c51d376b
Merge pull request #3473 from rtfeldman/wasm-test-wasm3
Use a faster Wasm runtime for test_gen
2022-07-11 22:50:50 +02:00
Brian Carroll
8533d00f1a
test_gen: place test host .wasm file in Cargo build directory 2022-07-11 20:47:24 +01:00
Richard Feldman
434bcd08fd
s/ends_in_newline/ends_with_newline/g 2022-07-11 13:15:22 -04:00