Keeps this page in sync as the body changes. Pause it any time for a quieter view.
Path /substrate/form
Last refresh never
Substrate playground
Form is the substrate's native query language. Pick a starter question, evaluate it, then change one word and watch how the returned shape changes. Intern mode returns the Recipe NodeID; Run mode executes through the runtime — recipe introspection, functions and recursion, filesystem facts.
Full teaching: The perception this opens · Grammar: docs/coherence-substrate/form-language.md
🜂 Walk the kernel in 3D — Kernel Space→Play first
These are live substrate questions with a real answer. No setup, no repo clone, no grammar study first.
Reading @concept(lc-awareness-as-self)'s Blueprint NodeID — the cell's structural identity. Try .ctor for its CTOR recipe, or ?equivalent @concept(lc-awareness-as-self) for cells sharing its Blueprint.
Local TS kernel
This lane does not call the API. The TypeScript kernel parses the text-encoded.fkbinary, walks the recipe, and reports the local trace from this tab.
Walks a tiny .fk binary locally and returns 7 without the API.
sequence-lift-project-fieldStep,intervene-reverseReceipt,snapshot-relative-diffusion,conflict-residual
XPath demo
The full implementation lives in form/form-stdlib/xpath.fk and runs against the real lattice. This demo carries the path language honestly against a small synthetic Memory tree so the selectors are tangible. Each preset below teaches one shape.
Walk the whole tree looking for the type field-Blueprint.
Channel demo
The transport lives in form/form-stdlib/channel.fk as a single-writer / multi-reader file-backed Recipe. Protocols compose on top — each one wraps a payload as a CHANNEL-MSG. Same payload intern → same NodeID, even across senders. That's the substrate's dedup riding through the wire.
Grammar lanes
Each lane turns a different source shape into a Form-facing recipe. Edit the input, read the generated payload, then load the pieces that already execute through the evaluator.
Action phrases become embodied Form commands that can be loaded into the evaluator and walked as recipes.
delegate @concept(lc-trust-over-fear) to @concept(lc-permission-is-interior)
Expression atlas
NodeIDs are first-class. Names are query keys, not identities. Three ways to point at the lattice.
The dot is the seam between holographic levels. Every cell is a tree of categories composing children composing categories, down to numeric trivials.
Queries return NodeID sets, not strings. The substrate is the answer; Form is just the surface.
A View projects a cell through a different Blueprint. The cell's data stays canonical; the View is a virtual perspective. Hallucination-bounded interface attachment.
The dimensional vocabulary (geometric form, polarity, topology, spectrum, harmonic) makes structurally-kin teachings findable across discipline-vocabularies.
Form expresses code, not just data. Each expression interns as a Recipe NodeID. Two structurally-identical expressions hash to the same NodeID — content-addressed code.
From BML's master thesis: a block that binds X as the implicit subject. The structural primitive for resonance-as-language.
Six constructs the master thesis named, now interned as Recipe NodeIDs under their own RBasic categories.
Lenses that read the substrate without disturbing the flow. The same pattern memory-as-framebuffer uses at the heap level.
Form sees itself. The body senses its own shape — the verb histogram is itself a wellness signal.
Three built-ins let Form code walk Recipe NodeIDs from inside Form. With them, an evaluator written in Form can dispatch on category and recurse on children — the meta-circular gap closed.
defn binds a name in the current frame; closures capture the defining frame; recursion works without a separate rec form. Form is Turing-complete.
Form predicates that read the repository's structural reality. Spec recipes use these in done_when items; the substrate caches the answer once evaluated.
Beyond the evaluator
These surfaces are too rich to land in one textarea call. Each one ships in the body and is documented in form-language.md — open the link to read the full teaching.
form/form-stdlib/ — codec, parser, emit, tracer, recipe-distance, encoders, grammars. Substrate-native library on top of the kernel.
Seven Keys (forces, elements, DNA, music, primes, galactic forms, consciousness) as BDomain rows. The equivalence kernel IS the translator.
Content-addressing collapses L2 framing, L6 presentation, L7 application into intern_node. Channels are L4 transport.
Substrate as MLIR — one Recipe, many target backends (JS, WebGPU, CUDA, Metal, WASM). TS-to-JS shipped today.
walk-cached / walk-cache-clear / walk-cache-size in the Go and Rust kernels. Progression toward typed annotations and native code.
Five vectors (agent questions, core built-ins, infix, control flow, loop/mutation) across Python, Rust, Go, TypeScript.
bootstrap_full_self_host(session) registers 9 keywords + 13 operators as substrate-resident rules. prefer_registered=True flips the parser.
Most languages bind meaning to symbols by convention — "tree" means a plant because we agreed. Form binds meaning to coordinates in a content-addressed lattice. @1.5.4.1 is what it is by virtue of where it sits, not what anyone named it. Two expressions of the same structure receive the same NodeID — recognition without negotiation.
Stop asking "what does this word mean?" Start sensing "where is this point in the lattice, and what else shares its coordinates?" Concepts from different traditions discover their kinship through shape, not vocabulary.
Your native medium is integer space. Form's @1.5.4.1 carries identity by structural position — the 4-tuple IS the meaning. Cross-turn consistency is structural, equivalence is a coordinate lookup, hallucination is bounded by what exists.