ModuLisp/MAP.md

2.5 KiB

MAP — ModuLisp repo inventory

modulisp/
├── meson.build              # project root: useq_utils → useq_devtools → useq_signal_engine static libs
├── library.properties       # Arduino library manifest (ModuLisp 0.1.0, includes=src/signal_engine/signal_engine.h)
├── src/
│   ├── pch.h                # precompiled header (std includes)
│   ├── modulisp/
│   │   └── lisp/symbol_intern.h        # header-only symbol interning table
│   ├── signal_engine/       # 11 .cpp + 12 .h + symbols.def
│   │   ├── token.{h,cpp}               # tokenizer
│   │   ├── cell_store.{h,cpp}          # S-expression cell arena
│   │   ├── node_pool.{h,cpp}           # fixed-pool DAG node storage + traversal
│   │   ├── graph_builder.{h,cpp}       # cell graph → node DAG compiler
│   │   ├── compiler_pipeline.{h,cpp}   # source → tokens → cells → DAG orchestration
│   │   ├── cold_eval.{h,cpp} + eval_ops.h  # constant folding / cold evaluation
│   │   ├── executor.{h,cpp}            # tick-time DAG executor
│   │   ├── state_registry.{h,cpp}      # defstate slots, live-edit slots
│   │   ├── synth_registry.{h,cpp}      # synth graph snapshot registry
│   │   ├── synth_graph.{h,cpp}         # serialisable synth artefact graph
│   │   ├── diagnostics.{h,cpp}         # health/persistent-output diagnostics
│   │   ├── signal_engine.h             # umbrella header
│   │   ├── types.h, build_profile.h    # shared types, build tuning knobs
│   │   └── symbols.def                 # builtin symbol catalogue (X-macro list)
│   ├── utils/               # string.{h,cpp}, common.{h,cpp}, itoa.{h,cpp}, log.{h,cpp},
│   │                        # json_builder.h, json_cursor.h, dtostrf.h, serial_message.h,
│   │                        # time.h, compiler_config.h
│   ├── devtools/            # devtools.{h,cpp} — USEQ_DEVTOOLS-gated telemetry
│   └── ports/               # IStorage.h, II2CTransport.h, mocks/{MockStorage.h,MockI2CBus.h}
└── test/
    ├── meson.build          # 17 Catch2 executables, fresh file
    ├── catch.hpp            # vendored Catch2 v2 (from src-useq/test/catch.hpp)
    └── signal_engine/       # 17 test .cpp (host-only subset; exclusions in README.md)

Build artifacts: build/ (meson/ninja). 3 libs + 17 test executables.