Commit graph

140 commits

Author SHA1 Message Date
Ayaz Hafiz
e96be7c746
Factor out decoders into separate files 2023-03-22 12:29:21 -05:00
Ayaz Hafiz
5e0a6e5926
Derive key for Decoding tuples 2023-03-22 12:23:16 -05:00
Ayaz Hafiz
0b4a45c70d
Derive encoding for tuples 2023-03-22 11:37:47 -05:00
Ayaz Hafiz
e5fcb05a2d
Implement derivation keys for tuple encoders 2023-03-22 11:19:47 -05:00
Ayaz Hafiz
8f7b6aaeaa
Implement hash derivation for tuple 2023-03-22 10:28:13 -05:00
Ayaz Hafiz
e6cac71ca5
Add support for hash key of tuples 2023-03-22 10:09:57 -05:00
Brendan Hansknecht
f42f61e271
run a toml formatter and then clean it up a bit 2023-03-06 19:47:57 -08:00
Brendan Hansknecht
4a89bee0a5
centralize package versions except for vendor and excluded 2023-03-06 19:29:09 -08:00
Brendan Hansknecht
5485c8a5b0
update to using workspace package spec 2023-03-06 16:36:18 -08:00
Joshua Warner
de828416bf
Initial implementation of tuples in type checking
This leaves in place a bunch of TODOs and likely many bugs - notably, I haven't tested codegen/layout at all here.
2023-01-22 12:40:44 -08:00
Ayaz Hafiz
1c93727822
Add a notion of "openness" tag extensions suitable only for size-polymorphism 2023-01-16 10:52:23 -06:00
Folkert
662bf1de99
more workspace dependencies 2022-11-13 16:10:02 +01:00
Ayaz Hafiz
fb643758bb
Remove Unified BadType 2022-11-08 14:11:25 -06:00
Luke Boswell
2c2a70b8e7 Merge remote-tracking branch 'upstream/main' into rust-docs 2022-11-06 09:15:57 +11:00
Folkert
134de80150
various updates 2022-11-03 17:18:27 +01:00
Luke Boswell
f3bdb5f321
updating rust package documentation 2022-11-03 20:00:06 +11:00
Ayaz Hafiz
4d48ea7c2f
Materialize extension variable polarity in error type reporting 2022-10-31 09:37:40 -05:00
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