d88823e7c4
There are two broad approaches: 1) Handle reverse attribute notation dynamically, in the style that Datomic does. This is the most flexible, but it's not a good fit given that we produce strongly typed output from the parser. Strongly typed input to the transactor has had many benefits, so I don't want to roll it back for a relatively unimportant feature like reverse notation -- especially not since Mentat does not require :db.install/_attribute to modify schema attributes. 2) Handle reverse attribute in the parser itself, so that we can produce strongly typed parser output while restricting the input. I implemented this first and discovered that it's very difficult to give sensible error messages in common cases. In any case, the bulk of the code is the same between the two approaches, and I wrote the tests for the dynamic version (with error output), so that's what I'm rolling with. This patch preserves the existing indentation, to highlight the differences. The next patch will indent. |
||
---|---|---|
.. | ||
src | ||
Cargo.toml | ||
README.md |
This sub-crate implements the core types used by the transaction processor.