mozilla / mentat

UNMAINTAINED A persistent, relational store inspired by Datomic and DataScript.
https://mozilla.github.io/mentat/
Apache License 2.0
1.65k stars 115 forks source link

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

Open ncalexan opened 6 years ago

ncalexan commented 6 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.