ModuLisp/README.md

27 lines
1.2 KiB
Markdown

# ModuLisp
Standalone build of the portable uSEQ signal engine. Meson + ninja:
```
meson setup build && ninja -C build && meson test -C build
```
## Module map
- `src/modulisp/lisp/` — header-only symbol interning (`symbol_intern.h`).
- `src/signal_engine/` — the language core:
- `token``cell_store``graph_builder``node_pool`: source text to
fixed-pool signal DAG (deterministic compile, CSE, bounded diagnostics).
- `compiler_pipeline`: parse + graph-mutation transactions (LKG rollback).
- `cold_eval`: top-level evaluation — definitions, output assignment,
external sink assignment, cold commands, transport control.
- `executor`: tick-time DAG execution + `publish_sink_values`.
- `ext_registry`: generic named external-input / external-sink /
cold-command registries — the firmware-profile seam (see MAP.md).
- `state_registry`, `synth_registry`, `synth_graph`, `diagnostics`.
- `src/utils/`, `src/devtools/`, `src/ports/` — support libraries, gated
telemetry, and hardware port interfaces with host mocks.
- `test/` — Catch2 executables over the host subset of the engine.
External registers are generic: firmware registers names like `nn/*` or
`midi/*` at boot; the engine ships no such builtins.