Start here. Each document has a stable filename and stable headings — link to sections freely.
Try it in your browser: playground/ — interpreter-only WASM build, no install required.
| document | what it answers |
|---|---|
| SPEC.md | The canonical spec. Every construct with a runnable example and its exact output — all examples are executed by the test suite, so the spec cannot drift from the implementation. |
| SYNTAX.md | Tutorial-style guide to the same material, in prose. |
| COMPARISON.md | EigenScript next to Python / JavaScript / Rust / Lisp, with a porting checklist and before/after transformations (also executed by the suite). |
| GRAMMAR.md | The formal grammar. |
| LANGUAGE_CONTRACT.md | Edge-case promises: exactly what is guaranteed at the boundaries (argument spreading, coercion, subprocess I/O, ...). |
| document | what it answers |
|---|---|
| BUILTINS.md | Every built-in function: signature, behavior, errors. |
| STDLIB.md | The 73 standard-library modules under lib/. |
| OBSERVER.md | Observer semantics in depth: entropy, dH, predicates, unobserved. |
| TRACE.md | Temporal interrogatives, the trace tape, deterministic replay, and replay's nondeterminism boundary. |
| DEBUGGING.md | The failure→replay→interrogate loop and the --step tape-stepper (step back, trajectories, breakpoints). |
| DIAGNOSTICS.md | Error messages, the linter, and the formatter. |
| document | what it answers |
|---|---|
| ARCHITECTURE.md | Pipeline overview: lexer → parser → bytecode compiler → stack VM → copy-and-patch JIT. |
| EMBEDDING.md | C embedding API (src/eigs_embed.h): lifecycle, eval, error retrieval, value handles, FFI. |
| JIT_STAGE5_INLINE_IC.md | The JIT's inline fast paths and caches: design + as-built record. |
| CLOSURE_CYCLE_GC.md | The closure-cycle collector: honest env refcounts, the registry/mark-sweep design as built, maintainer invariants, and what still leaks. |
| TEST_COVERAGE_ANALYSIS.md | The coverage program: findings → fixes → residual gaps, with measured numbers. |
| GAP_ANALYSIS.md | Downstream feature-gap tracking. |
| PACKAGE_SPEC.md | The --pkg tool as implemented: add/install/update/verify/list, eigs.json manifest, SHA-pinned lockfile, vendored eigs_modules/. |
| PACKAGE_DESIGN.md | Partially implemented — shipped behavior lives in PACKAGE_SPEC.md; the design intent and open questions are here. |
editors/vscode/ (TextMate grammar + language
config) and editors/vim/ (syntax + ftdetect);
make lsp builds the language server (src/eigenlsp — diagnostics,
completion, hover, definition, references over stdio).
examples/— 50+ runnable programs, smoke-tested by the suite, fromhello.eigsto a Conway's-Life and STEM simulations.examples/errors/— programs that fail on purpose, each declaring its expected error message in an# expect-error:header (verified by the suite). Read these to learn what mistakes look like.tests/— the language's executable semantics: 2,500+ checks, each test file readable as a statement of intended behavior.
```eigenscriptfenced blocks followed by an```outputblock are executed and checked bytests/test_doc_examples.py.```eigenscript skipmarks valid syntax that is deliberately not executed (nondeterministic or environment-dependent).- Code without an output block is an illustrative fragment.