Glossary
Backend. One of the execution paths the planner can route a node
through: Structural, TapeView, TapeRows, TapePath, ValView,
MaterializedSource, FastChildren, Interpreted. Selected automatically
based on shape and capabilities.
Barrier. A stage that must see all input before emitting output. sort,
unique, group_by, window, etc.
Bitmap structural index. A bit-packed index over the simd-json tape that
lets ..find, ..shape, ..like, and ..match skip non-matching subtrees
in O(1) per node. Used when the document is loaded with the simd-json tape
(default).
Borrowed view. A ValueView — a read-only borrowed reference into a
parsed document. Zero-copy substrings via Val::StrSlice.
Builtin. One of the 181 methods in jetro's catalog. Each is one
impl Builtin for X block in defs.rs with identity, demand law, and
runtime layers co-located.
Chain-write. A query ending in a write terminal (.set, .modify,
.delete, .unset, .merge, .deep_merge, .append, .prepend) on a
rooted path. Rewritten to Expr::Patch by the parser.
Composed stage. A Composed<A, B> pair that fuses two adjacent stages
into one virtual call per element.
Demand. The triple (pull, value, order) describing what an operator
needs from its source. See Demand Propagation.
Demand law. The rule by which a builtin transforms downstream demand
into upstream demand. Encoded in the builtin's BuiltinDemandLaw.
Effect lifting. The patch-fusion pass that batches multiple chain-writes into a single document walk.
Engine. A JetroEngine — a long-lived handle that caches parsed and
compiled queries for reuse across documents.
F-string. f"text {expr}" — string with embedded expression
interpolation.
Field chain. A path of pure field accesses, e.g. $.a.b.c. Recognised
by the planner and routed to fast tape backends.
Jetro. Single-document handle. Jetro::from_bytes(bytes)?.collect(q).
JetroEngine. Multi-document handle with plan/VM caches.
Lambda. A small function value: @, r => body, lambda r: body. All
three forms compile identically.
Maranget tree. The decision-tree compilation strategy used for pattern matching. Cross-arm sharing of common discriminant tests.
Patch. The internal write operation. Generated by both patch $ { … }
blocks and chain-write classification.
Patch fusion. The optimizer pass that batches multiple writes into a single walk.
Pipeline. The streaming execution model: Source → Stage* → Sink. One
element at a time.
Plan / Logical Plan. Tree-shaped IR between AST and bytecode. Lives in
ir/logical.rs.
Plan cache. A cache in JetroEngine that maps (query, context) to a
compiled Pipeline. Default capacity 256.
Pull demand. The first lane of Demand: how many inputs must be read.
Variants: All, FirstInput(n), LastInput(n), NthInput(i),
UntilOutput(n).
Quantifier. A postfix operator on a path step. ? = optional,
! = exactly-one.
Sink. The terminal stage of a pipeline. Reducers, positional, and implicit collectors.
Source. The first stage of a pipeline. Usually a path or array literal.
Streaming. Per-element execution; no buffering.
Tape. The simd-json output: a flat array of tokens describing structural positions in the JSON byte buffer. Used for zero-copy access.
Val. The internal value type. Arc-wrapped compound nodes ensure cheap
clones.
Value need. The second lane of Demand: how much of each row's content
is required. Variants: None, Predicate, Projection, Numeric,
Whole.
View. A ValueView — borrowed read-only access to a value.
VM. The bytecode executor. Used as the universal fallback backend; also provides the path-cache.
Write fusion. Same as patch fusion. See above.