[edn] Split edn crate into types and parsers #263

Open
opened 2020-08-06 16:57:33 +00:00 by gburd · 0 comments
gburd commented 2020-08-06 16:57:33 +00:00 (Migrated from github.com)

After #728, the edn crate has really changed purpose. It's now declaring parsers for three types (edn::Value, transaction entities, and queries) and all of those types. It's a mess!

This ticket tracks splitting out the types and renaming to parsers. When I started to look at this, it was going to be easier to rename edn -> types and add a new crate parsers just for the rust-peg bits.

I didn't push this through because I didn't care to disentangle the use of the parser from the EDN-specific tests. We use the parser to make EDN data structures for testing (since it's onerous to create them "in code"), and that would need to change to keep the EDN data structures independent of the parsers.

After #728, the `edn` crate has really changed purpose. It's now declaring parsers for three types (`edn::Value`, transaction entities, and queries) _and_ all of those types. It's a mess! This ticket tracks splitting out the types and renaming to `parsers`. When I started to look at this, it was going to be easier to rename `edn` -> `types` and add a new crate `parsers` just for the `rust-peg` bits. I didn't push this through because I didn't care to disentangle the use of the parser from the EDN-specific tests. We use the parser to make EDN data structures for testing (since it's onerous to create them "in code"), and that would need to change to keep the EDN data structures independent of the parsers.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: greg/mentat#263
No description provided.