-
✓ RSR template with full CI/CD (17 workflows)
-
✓ Rust CLI with subcommands (init, validate, generate, build, run, info)
-
✓ Manifest parser (
nimiser.toml→Manifeststruct) -
✓ Codegen stubs (
src/codegen/mod.rs) -
✓ Idris2 ABI module stubs (
src/interface/abi/) -
✓ Zig FFI bridge stubs (
src/interface/ffi/) -
✓ README with architecture and Nim pipeline overview
-
❏ Parse
nimiser.tomlinterface descriptions into typed IR -
❏ Generate Nim templates for type-safe C-compatible wrappers
-
❏ Generate
{.exportc.}pragmas from Idris2 ABI definitions -
❏ Generate
{.cdecl.},{.packed.},{.align.}from Layout proofs -
❏ Emit Nim source files to
generated/nim/ -
❏ First working end-to-end: manifest → Nim templates →
nim c→.a+.h -
❏ Integration test: link generated
.afrom C and call exported functions
-
❏ Generate Nim macros for AST-level optimisation (loop unrolling, specialisation)
-
❏ Generate Nim generics for monomorphised type-safe wrappers
-
❏ Compile-time evaluation: generate
staticblocks for lookup tables and constants -
❏ Generate
=destroy,=copy,=sinkhooks for resource-owning types -
❏ Dead code elimination via conditional compilation (
when defined()) -
❏ Support multi-backend: C, C++, JavaScript output selection in manifest
-
❏ Write Idris2 ABI proofs for NimTemplate, NimMacro, CompileTimeAST types
-
❏ Prove memory layout correctness for Nim object types
-
❏ Prove calling convention compatibility (cdecl, stdcall)
-
❏ Build Zig FFI bridge linking generated C library to consuming code
-
❏ Integration tests: Idris2 proofs → Zig bridge → generated Nim C library
-
❏ Error messages with source locations (manifest line numbers)
-
❏ Nim compilation error capture and re-reporting through Rust CLI
-
❏ Shell completions (bash, zsh, fish)
-
❏ Performance benchmarks: generated C vs hand-written C vs raw Nim
-
❏ CI/CD for generated artifacts (compile-test the output)
-
❏ Additional examples: buffer library, hash table, event system
-
❏ Nim
concepts(structural typing) for flexible interface matching -
❏ Nim
effect systemannotations for generated code -
❏ Cross-compilation matrix: Linux/macOS/Windows x86_64/aarch64
-
❏ WASM backend via Nim’s Emscripten support
-
❏ Nim
importcgeneration for consuming external C libraries
-
❏ PanLL panel for Nim codegen visualisation and AST inspection
-
❏ BoJ-server cartridge for on-demand library generation
-
❏ VeriSimDB backing store for generation results and benchmarks
-
❏ Publish to crates.io
-
❏ Integration with iseriser meta-framework for auto-scaffolding