# Sutra > A typed programming language whose compiled forward pass is a neural network. Values are vectors in a frozen LLM embedding space; every operation is a tensor op on the substrate. Each page below is available as raw markdown at the linked .md URL (the rendered HTML lives at the same path without the extension). ## Docs - [What is Sutra?](/what-is-sutra.md): The short version: a typed language whose compiled forward pass is a neural net. - [The graph-to-vector leap](/vision.md): Why embedding spaces look like graphs but behave like geometry. - [Paradigms: familiar syntax, foreign semantics](/paradigms.md): What programming paradigms Sutra is in conversation with. - [The ontology](/ontology.md): The type system and the role of OWL-style classes. - [Primitive classes](/primitive-classes.md): Built-in primitive types and their geometric semantics. - [Operators](/operators.md): The operator set and what each one compiles to. - [Logical operations](/logical-operations.md): &&, ||, ! over fuzzy three-valued truth. - [Numeric math](/numeric-math.md): How integers, floats, and complex numbers live in the substrate. - [List operations](/list-operations.md): Immutable map / filter / concat over first-class list. - [Memory without control flow](/memory.md): bind, unbind, bundle — the role-filler model. - [Loops](/loops.md): First-class loop functions as substrate-pure RNN cells. - [Cookbook — everyday programs](/cookbook.md): Everyday programs — sum, max, reverse, fibonacci, palindrome — the idiomatic way. - [Promises and async/await](/promises.md): Promises and async/await, geometrically. - [TypeScript → Sutra mapping](/typescript-to-sutra.md): How TypeScript source maps onto Sutra. - [Compilation: sugar to polynomial](/compilation.md): The five-stage pipeline from source to fused tensor graph. - [Neural WebAssembly](/neural-webassembly.md): A transformer that is a WASM VM — and the isomorphism program down to Sutra. - [Demos](/demos.md): Every program in the smoke test. - [Drawing pixels](/gui.md): Sutra computes the pixels: a window of substrate-rendered frames. - [Sample: a self-optimizing landing-page button](/example.md): A worked sample: a landing-page button that trains itself for click-through, rendered on the substrate. - [History](/history.md): How the language got to its current shape. - [What Sutra implements](/capabilities.md): What Sutra implements - [Input and output](/host-bridge.md): Input and output - [Papers](/papers.md): Papers - [The REPL — explore Sutra interactively](/repl.md): The REPL — explore Sutra interactively - [01 — Hello Sutra](/tutorials/01-hello-sutra.md): 01 — Hello Sutra - [02 — Bind and unbind](/tutorials/02-bind-and-unbind.md): 02 — Bind and unbind - [03 — Snap-to-nearest](/tutorials/03-snap-to-nearest.md): 03 — Snap-to-nearest - [04 — From TypeScript and JavaScript](/tutorials/04-from-typescript.md): 04 — From TypeScript and JavaScript - [05 — Build a semantic FAQ matcher](/tutorials/05-semantic-faq.md): 05 — Build a semantic FAQ matcher - [06 — Strings & formatting](/tutorials/06-strings-and-formatting.md): 06 — Strings & formatting - [Tutorials](/tutorials/index.md): Tutorials ## Tutorials - [01 — Hello Sutra](/tutorials/01-hello-sutra.md) - [02 — Bind and unbind](/tutorials/02-bind-and-unbind.md) - [03 — Snap-to-nearest](/tutorials/03-snap-to-nearest.md) - [04 — From TypeScript and JavaScript](/tutorials/04-from-typescript.md) - [05 — Build a semantic FAQ matcher](/tutorials/05-semantic-faq.md) - [06 — Strings & formatting](/tutorials/06-strings-and-formatting.md) ## Paper - [The Sutra paper](/paper/): rendered on-site; canonical version on arXiv.