Skip to main content

Module sexp

Module sexp 

Source
Expand description

uor_addr::sexp — the S-expression realization of UOR-ADDR (ARCHITECTURE.md “Format-specific realizations” § uor-addr-sexp).

S-expression typed-input content-addressing under Rivest’s canonical S-expression form, with the σ-projection bound to prism::crypto::Sha256Hasher.

§Authoritative sources

§Grammar

SExprValue ::= Atom(bytes)            — symbolic atoms (UTF-8 bytes)
             | Cons(SExprValue, SExprValue)
             | Nil

The wire-format input is canonical S-expression syntax — atoms as <n>:<bytes> length-prefixed byte sequences (Rivest’s canonical form), lists as parenthesized sequences, nil as (). The parser also admits the Lisp-style sugared form (a b c).

§Canonicalization (ADR-060 streaming)

The realization no longer materializes a structurally-tagged byte form. SExprCanon is a [prism::uor_foundation::pipeline::ChunkSource] over the borrowed input that emits Rivest canonical bytes on demand — atoms as <n>:<bytes>, lists as (s₁ s₂ … sₙ), nil as () — and ψ₉ folds those chunks through the σ-axis. There is no input size, atom-width, element-count, or nesting-depth ceiling.

Re-exports§

pub use model::AddressModel;
pub use model::AddressModelBlake3;
pub use model::AddressModelKeccak256;
pub use model::AddressModelSha3_256;
pub use model::AddressModelSha512;
pub use model::AddressRoute;
pub use pipeline::address;
pub use pipeline::address_blake3;
pub use pipeline::address_keccak256;
pub use pipeline::address_sha3_256;
pub use pipeline::address_sha512;
pub use pipeline::AddressFailure;
pub use pipeline::AddressOutcome;
pub use pipeline::AddressWitness;
pub use pipeline::VerifyError;
pub use value::canonicalize;
pub use value::SExprCanon;
pub use value::SExprValue;
pub use verbs::address_inference;
pub use verbs::VERB_TERMS_ADDRESS_INFERENCE;
pub use crate::resolvers::AddressResolverTuple;

Modules§

model
sexp::AddressModel* — the sexp realization’s PrismModel declarations, one per admissible σ-axis (crate::hash). Each binds the shared AddressResolverTuple ψ-tower and the axis’s capacity profile (AddrBounds for the 32-byte axes, AddrBounds64 for sha512). AddressModel (sha256) is the default.
pipeline
sexp::address — the S-expression realization’s public entry point.
value
SExprValue — the typed S-expression input handle (ADR-023 amended by ADR-060).
verbs
S-expression realization’s ψ-chain content-address derivation verb (wiki ADR-024 + ADR-035 + ADR-036 + ARCHITECTURE.md “Common verb arena”).