BranchTag
denotes data types that can have child nodes.
Cursor
identifies a position in a Context
.
This corresponds to the expression construct EXPR
in Kleppmann
and Beresford.
This corresponds to the expression construct EXPR
in Kleppmann
and Beresford. It is used to construct a Cursor
.
In contrast to the paper, Expr
does not include the keys
and
values
operations which can be used to query the state of a
document. This simplifies the evaluation of an Expr
which always
yields a Cursor
.
Key
represents the untyped components of a Cursor
.
TypeTag
tags a Key
with the data type it refers to.