mentat/edn/src
Richard Newman b2e98f44f6
Generalize Entity by value type. (#701) (#691) r=rnewman
* Part 3: Parameterize Entity by value type.

This isn't quite right, because after parsing, we shouldn't care
about` `edn::ValueAndSpan`, we should care only about edn::Value.
However, I think we can drop `ValueAndSpan` entirely if we just use
`rust-peg` (and its simpler error messages) rather than a mix of
`rust-peg` and `combine`.

In any case, this paves the way to transacting `Entity<TypedValue>`,
which is a nice step towards building general entities.

* Part 1: Add AttributePlace.

* Part 2: Name other places EntityPlace and ValuePlace.

Now we're consistent and closer to self-documenting.  Both matter more
as we expose `Entity` as the thing to build for programmatic usage.

* Part 4: Allow Ident and TempId in ValuePlace.

The parser will never produce these, since determining whether an
integer/keyword or string is an ident or a tempid, respectively, in
the value place requires the schema.

But a builder that produces `Entity` instances directly will want to
produce these.
2018-05-15 00:43:07 -07:00
..
edn.rustpeg Generalize Entity by value type. (#701) (#691) r=rnewman 2018-05-15 00:43:07 -07:00
entities.rs Generalize Entity by value type. (#701) (#691) r=rnewman 2018-05-15 00:43:07 -07:00
lib.rs Combine NamespacedKeyword and Keyword. (#689) r=nalexander 2018-05-11 09:52:17 -07:00
matcher.rs Performance and cleanup. r=emily 2018-03-06 09:03:00 -08:00
namespaceable_name.rs Allow pull aliases to be non-namespaced. (#694) r=nalexander 2018-05-14 10:45:48 -07:00
pretty_print.rs Combine NamespacedKeyword and Keyword. (#689) r=nalexander 2018-05-11 09:52:17 -07:00
symbols.rs Combine NamespacedKeyword and Keyword. (#689) r=nalexander 2018-05-11 09:52:17 -07:00
types.rs Allow pull aliases to be non-namespaced. (#694) r=nalexander 2018-05-14 10:45:48 -07:00
utils.rs Start installing SQL schema. (#171) r=rnewman 2017-01-25 16:13:56 -08:00