Expand description
Constructors for kernel Expr data.
These are the one home for “make a symbol / number / string / map”.
Float canonicalization matches Rust’s f64 Display (which already drops a
trailing .0), so values built here are byte-identical to a direct
number(f64) construction.
Functions§
- entry
- A single map entry with a bare-symbol key:
(sym(name), value). This is the one home for thefn entry(name, value)tuple builder used by domain crates (topology, agent, reflection). - float
- An
f64-domain number value with a canonical literal. - int
- An
i64-domain number value. - keyword
- A bare keyword
Symbol(NOT wrapped inExpr). This is the one home for thefn field(name) -> Symbol/Symbol::new(name)wrappers that test and codec crates re-grew; usesymwhen anExpris wanted. - list
- A list value.
- map
- A map value from string-keyed entries (keys become unqualified symbols).
- num
- A number value in
domainwith the givencanonicalliteral. - num_q
- A number value whose domain may be namespace-qualified.
num_q(None, name, canonical)is identical tonum;num_q(Some(ns), name, canonical)emits a qualified domain symbol (for examplenumbers/f64). Use this when a caller must preserve an existing qualified number domain rather than the unqualified spelling produced byfloatornum. - qsym
- A qualified symbol value:
Expr::Symbol(Symbol::qualified(ns, name)). - sym
- An unqualified symbol value:
Expr::Symbol(Symbol::new(name)). - text
- A string value.
- uint
- An
i64-domain number value from an unsigned integer. - vector
- A vector value.