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] Make EDN allocation more flexible #337

Open ncalexan opened 7 years ago

ncalexan commented 7 years ago

This is a general ticket tracking making our EDN representation more efficient. We have talked about interning in a variety of contexts (see, for example, #318) but expect to need to intern at the EDN level. So this ticket tracks making our EDN parser take a factory of some sort.

There's a nice builder/allocator pattern for this in pretty.rs which I think is worth understanding: see https://github.com/freebroccolo/pretty.rs/blob/bb5e5aa3e93485c8b1c8314ff24b189deca0301b/src/pretty/lib.rs#L41

ncalexan commented 7 years ago

We've dropped links before but the following might be useful:

ncalexan commented 7 years ago

See also https://github.com/insaneinside/symtern.