qpdb / mentat

A persistent, relational store inspired by Datomic and DataScript.
https://mentat.rs/
Apache License 2.0
52 stars 2 forks source link

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

Open gburd opened 4 years ago

gburd commented 4 years ago

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.