Commit graph

562 commits

Author SHA1 Message Date
Ayaz Hafiz
e83175cf75
Add a deriver for encoding lists 2022-07-16 12:30:14 -04:00
Ayaz Hafiz
0dfdcf5523
Get rid of some dead deriving code
My favorite kind of dead code elimination
2022-07-16 12:28:39 -04:00
Folkert de Vries
dc74803c18
Merge pull request #3523 from rtfeldman/more-encoding-deriving
More encoding deriving
2022-07-16 11:37:37 +02:00
Brian Carroll
dae8eccb70
Fix a comment in Str.roc 2022-07-16 08:26:19 +01:00
Folkert de Vries
98dbd236fb
Merge pull request #3546 from rtfeldman/syntactic-ability-specializations
Parse and format "has-abilities" clauses in opaque types
2022-07-16 02:06:00 +02:00
Ayaz Hafiz
be9944a7e1
Improve indent of has-abilities clauses 2022-07-15 11:59:03 -04:00
Ayaz Hafiz
dc3f8db6b8
Stray dbg 2022-07-15 11:46:32 -04:00
Ayaz Hafiz
3c65fbcf35
Format has clauses with impls 2022-07-15 11:45:53 -04:00
Ayaz Hafiz
85cbab0193
Add fmt test for empty has abilities block 2022-07-15 11:17:21 -04:00
Ayaz Hafiz
4d54e2ee3c
Add test for empty impl block parse 2022-07-15 11:15:44 -04:00
Ayaz Hafiz
ecaccdaac3
Update parse tests 2022-07-15 11:15:01 -04:00
Ayaz Hafiz
3ada644544
Format impls blocks 2022-07-15 11:14:49 -04:00
Ayaz Hafiz
85599e3a9a
Parse impl blocks in abilities 2022-07-15 11:06:44 -04:00
Ayaz Hafiz
eb2012dcad
Typos 2022-07-15 10:39:10 -04:00
Ayaz Hafiz
a5a80d2d17
Test immediate encoding derivers 2022-07-15 10:39:09 -04:00
Ayaz Hafiz
946004a82f
Support immediate derivers for numbers 2022-07-15 10:39:09 -04:00
Ayaz Hafiz
2e20441157
Num * can't be derived for encoding, but concrete numbers can be 2022-07-15 10:39:09 -04:00
Ayaz Hafiz
7b23077265
Treat numbers as ad-hoc types for the purpose of checking ability obligations 2022-07-15 10:39:09 -04:00
Ayaz Hafiz
568e8d9475
Remove explicit string deriving code in favor of immediate 2022-07-15 10:39:09 -04:00
Ayaz Hafiz
9a66e936a8
Switch String deriving to be an immediate deriver 2022-07-15 10:39:08 -04:00
Ayaz Hafiz
c98ba441cf
Properly handle immediate derivations 2022-07-15 10:38:11 -04:00
Ayaz Hafiz
e91247a64d
Store ability member lambda sets in storage subs 2022-07-15 10:38:11 -04:00
Ayaz Hafiz
52d3f9721f
Add function to extract ability member's lambda sets at regions 2022-07-15 10:38:11 -04:00
Ayaz Hafiz
759134885b
Explain pushing/popping types on region labelling stack 2022-07-15 10:38:10 -04:00
Folkert de Vries
460b822caa
Merge pull request #3501 from rtfeldman/derive-tag-union-encoding-gen
Derive tag union encoding gen
2022-07-15 15:57:41 +02:00
Folkert
b9ebd4fa27 Merge remote-tracking branch 'origin/trunk' into pretty-expect-output 2022-07-15 09:12:04 +02:00
Folkert
b6224a3806
ugly hack to make the docs build 2022-07-14 22:15:19 +02:00
Folkert de Vries
1b1b63aad0
Merge branch 'trunk' into assoc-list-dict 2022-07-14 16:47:50 +02:00
Ayaz Hafiz
d4d073d8c6
Rename Derived to HasAbility 2022-07-14 10:38:37 -04:00
Ayaz Hafiz
0946a7816a
Rename has_derived to has_abilities 2022-07-14 09:58:18 -04:00
Ayaz Hafiz
3f7c91f988
Where there's clippy, there's no way 2022-07-14 09:24:08 -04:00
Ayaz Hafiz
94ab904b6f
Fix compile errors 2022-07-14 09:02:37 -04:00
Ayaz Hafiz
02526b6dc2
Mark deriving test for encoding tags as complete 2022-07-14 08:49:46 -04:00
Ayaz Hafiz
b1867a97d2
Unignore test 2022-07-14 08:49:46 -04:00
Ayaz Hafiz
276bb173a0
Add gen tests for derived tag encoders 2022-07-14 08:49:46 -04:00
Ayaz Hafiz
2ca86c84dc
Gen derived tag encoders with multiple payloads 2022-07-14 08:49:46 -04:00
Ayaz Hafiz
ad5d6a4f84
Copy patterns 2022-07-14 08:49:45 -04:00
Ayaz Hafiz
1cf1e114be
Derive tag union encoders 2022-07-14 08:49:45 -04:00
Ayaz Hafiz
9aa3cb8d33
Use Derived_synth for synthesizing implementations, and Derived_gen for codegen 2022-07-14 08:49:45 -04:00
Ayaz Hafiz
8311fb553f
Update mono tests 2022-07-14 08:49:45 -04:00
Ayaz Hafiz
a23604cd07
Compact lambda sets with structural derived ability impls 2022-07-14 08:49:45 -04:00
Ayaz Hafiz
6141e8ff76
Perfom derives from global derives module, not just symbol table 2022-07-14 08:49:44 -04:00
Ayaz
a9243720da
Merge pull request #3496 from rtfeldman/derive-w-mono
Monomorphize and compile derived implementations
2022-07-14 07:45:21 -05:00
Folkert de Vries
cab1ec0be5
Merge pull request #3532 from rtfeldman/3504
Wrap opaque types in the repl with the appropriate opaque wrapper
2022-07-14 10:04:41 +02:00
Folkert
88a9fab865
clippy 2022-07-14 08:56:23 +02:00
Folkert
488a4ca730
update test 2022-07-14 08:54:42 +02:00
Folkert
96414cb03f
cleanup 2022-07-14 08:52:38 +02:00
Richard Feldman
a812369299
Merge pull request #3510 from rtfeldman/fix-loading
Fix some file loading bugs
2022-07-13 21:30:39 -04:00
Richard Feldman
da7c7ac5f2
Merge pull request #3525 from rtfeldman/3522
Num.toStr for f32, f64, Dec
2022-07-13 21:30:05 -04:00
Folkert
06938429a1
Merge branch 'assoc-list-dict' into pretty-expect-output 2022-07-14 00:39:01 +02:00