Commit Graph

73 Commits

Author SHA1 Message Date
Ayaz Hafiz
229548571b
Represent "able" variables with slices of abilities 2022-10-24 13:59:51 -05:00
Ayaz Hafiz
d7237dc9e9
Cargo format 2022-10-18 12:09:18 -05:00
Ayaz Hafiz
706d22a942
Fix encode/decode deriving 2022-10-18 08:22:23 -05:00
Ayaz Hafiz
8aee32830a
Add symbols' localized type variable to the AST 2022-10-17 17:35:48 -05:00
Ayaz Hafiz
cb96a64259
Implement hashing tag discriminants in derivers, rather than using low-level
This makes it so we can decide the discriminant in the front-end. With
this, we can also now revert the `LowLevel::TagDiscriminant`
introductions.
2022-10-05 12:58:04 -05:00
Ayaz Hafiz
a308ebb38c
Optimize derived hash implementation for newtypes
When we have a newtype tag union, there is no reason to hash its
discriminant.
2022-10-05 12:19:35 -05:00
Ayaz Hafiz
41c9985c53
Support newtypes and unit tag union hash deriving 2022-10-04 18:11:37 -05:00
Ayaz Hafiz
ff70832068
Derive hash for tag unions with a discriminant 2022-10-04 17:19:30 -05:00
Ayaz Hafiz
5eb00c4f94
Generate derive keys for tags 2022-10-04 16:23:24 -05:00
Ayaz Hafiz
7421485973
Remove clone 2022-10-04 15:37:03 -05:00
Ayaz Hafiz
46f111c6dd
Add hash deriving for records 2022-10-04 15:23:41 -05:00
Ayaz Hafiz
ad4d98be9c
Add derive key generation for record hashing 2022-10-04 14:42:00 -05:00
Ayaz Hafiz
427528e659
Add deriving of immediates for the Hash ability 2022-10-04 14:09:39 -05:00
Ayaz Hafiz
0d763518f1
Make sure to push more symbols coming from Derived_synth to Derived_gen 2022-08-16 08:10:04 -05:00
Ayaz Hafiz
07cac2b4ce
Avoid non-consuming iterators 2022-08-15 11:11:37 -05:00
Ayaz Hafiz
ed23461165
Only open extension variable when feature is turned on 2022-08-15 11:11:36 -05:00
Ayaz Hafiz
9a7e280e9c
Add some more comments to record decoding 2022-08-15 11:11:36 -05:00
Ayaz Hafiz
0f58328d3d
Use wrap_in_decode_custom_decode_with for decode record 2022-08-15 11:11:36 -05:00
Ayaz Hafiz
23c6e6ea87
Add a wrap_in_decode_custom_decode_with helper for decode deriving 2022-08-15 11:11:36 -05:00
Ayaz Hafiz
07392a35a7
Populate type of decoded record completely 2022-08-15 11:11:35 -05:00
Ayaz Hafiz
e93145180e
Better debug symbols for derivers 2022-08-15 11:11:35 -05:00
Richard Feldman
639df6c8c0
Unify this_decode_with_var 2022-08-15 11:11:35 -05:00
Richard Feldman
b3b6a7ee9f
Type-check lots of step_field 2022-08-15 11:11:35 -05:00
Richard Feldman
c34427bbf9
Rename record_var to initial_state_var 2022-08-15 11:11:34 -05:00
Ayaz Hafiz
a276578642
Use some flex vars where they're needed for constraining 2022-08-15 11:11:33 -05:00
Ayaz Hafiz
e2e5faa28a
Rename to state_record_var 2022-08-15 11:11:33 -05:00
Richard Feldman
89f947f3ae
Finish setting up types for derived decoders 2022-08-15 11:11:33 -05:00
Richard Feldman
ddd462ec8b
Finish step 2022-08-15 11:11:33 -05:00
Richard Feldman
0579d84bf0
Set types for Keep/Skip 2022-08-15 11:11:32 -05:00
Richard Feldman
bccfa55179
Unify more derived decoder things 2022-08-15 11:11:32 -05:00
Richard Feldman
33548874d3
Drop some doc comments 2022-08-15 11:11:32 -05:00
Richard Feldman
8289458eee
Unify this_decode_with_var 2022-08-15 11:11:32 -05:00
Richard Feldman
13e3146ac1
Type-check lots of step_field 2022-08-15 11:11:32 -05:00
Richard Feldman
1587bfbeb5
Add type checking for finalizer 2022-08-15 11:11:32 -05:00
Richard Feldman
93d07079e1
Add type info to decoder_initial_state 2022-08-15 11:11:32 -05:00
Richard Feldman
7e12bcff1d
Rename variant_var to tag_union_var 2022-08-15 11:11:32 -05:00
Richard Feldman
6e008cf718
Finish building expressions for decoder_record 2022-08-15 11:11:31 -05:00
Richard Feldman
d3e96e9aa8
Expand record deriving decoding 2022-08-15 11:11:31 -05:00
Richard Feldman
bf8c253b13
Add some basic record decoding 2022-08-15 11:11:31 -05:00
Ayaz Hafiz
aa5e1e6a27
Build derive keys for derivable records 2022-08-15 11:11:30 -05:00
Richard Feldman
97e2900bf5
s/rtfeldman/roc-lang/g in links to GitHub repos 2022-08-12 15:24:09 -04:00
Ayaz
d4e81ccbd2
Merge pull request #3695 from rtfeldman/derive-decoding-list
Derive decoding for lists!
2022-08-05 10:41:24 -05:00
Richard Feldman
26ee1a01bc
Merge pull request #3691 from rtfeldman/cargo_verson_change
changed Cargo versions from 0.1.0 to 0.0.1
2022-08-05 09:13:04 -04:00
Ayaz Hafiz
8b63402b1c
Load non-function derived ability specializations correctly 2022-08-03 16:10:44 -05:00
Ayaz Hafiz
de3a12167b
Wrap list decoders in Decode.custom for now
Otherwise we get some weird panics in borrow, I think something is going
wrong with let-generalization
2022-08-03 16:09:22 -05:00
Ayaz Hafiz
ab3ff6e842
Add a list decoder 2022-08-03 14:57:38 -05:00
Ayaz Hafiz
f52e329393
Remove deriving decoding module for now 2022-08-03 10:18:02 -05:00
Ayaz Hafiz
b62c9d1faa
Support specialization of ability members that don't decay to functions 2022-08-03 10:16:22 -05:00
Ayaz Hafiz
44984d289c
Move derive Env to a util module 2022-08-03 08:56:26 -05:00
Ayaz Hafiz
e2179348c6
Add derive keys for decoders 2022-08-03 08:56:25 -05:00