Documentation
Pick the path that matches what you are doing.
Embed
Drop the runtime into any host language with C FFI: C, C++, Rust, Go, Java, .NET, Swift, Zig, and beyond. State lifecycle, capability registration, and the embedder's operational surface.
Embedding Guide
State lifecycle, value ownership, sandboxing, handles, sessions, and threading rules.
Embedding Cookbook
Twelve worked examples: hello-world walk-through, handle / record / atom decision tree, collection builders, agents, config loader, console, error handling, iterators, pipelines, plugins, rules engine, REPL on socket.
Language Bindings
Worked examples of embedding mino from C, C++, Java, Zig, Rust, C#, Go, and Swift via the C API.
Error Diagnostics
Structured errors with stable codes, source snippets, and programmatic access. Errors are plain mino data.
Script
Write mino code. The language as it lands for someone coming from Clojure, plus the editor, test, and task tooling for day-to-day development.
Coming from Clojure
What works the same, what differs, and intentional divergences for Clojure programmers.
Testing
Write and run tests in mino using
deftest, is, and testing. CI-friendly exit codes.Bytes and Bit Syntax
Immutable binary-data values plus an Erlang-inspired destructure surface for packing and unpacking bit fields. Useful for binary protocols, sensor packets, and bitboards.
Task Runner
Define build tasks in
mino.edn as ordinary functions. Dependency resolution, incremental builds, and self-hosting.Tooling and Editors
tree-sitter grammar, LSP server, and nREPL server. Setup guides for Neovim, Helix, Emacs, VS Code, and IntelliJ.
Reference
Lookup material. Two pages auto-generated from runtime introspection, two hand-curated comparison tables.
Compatibility Matrix
Item-by-item table of Clojure core functions and macros: supported, differs, or absent in mino.
Intentional Divergences
Where mino deliberately differs from Clojure and what it offers in place of each divergence.
C API Reference
Every public function, type, enum, and macro in
mino.h. Auto-generated from the source.Language Reference
Every built-in function, special form, and macro. Organized by category with usage examples.
Internals
How the runtime works under the hood. Skim if you are tuning, profiling, porting, or wiring up a mino project.
Bytecode and VM
Register-based bytecode layered on the tree-walker: value representation, opcode families, inline caches, fused loops, the soundness discipline, and how mino's VM compares to Lua, Janet, and BEAM.
Zero dependencies, vendored first
How mino ships: the single-file amalgamation under
dist/, no transitive build dependencies, no package manager, and the SQLite / Odin / sokol / stb spirit of vendor what you use.JIT
The CPJIT layer end to end: 58 opcode stencils across five host arches, dual-binary build, four-way parity, side-exit deopt, cancellable JIT'd loops, runtime control, per-host verification matrix, and an on/off A/B against realistic_bench.
Garbage Collection
Two-generation tracing collector with incremental old-gen mark: phases, tuning knobs, stats fields, and environment variables.
Software Transactional Memory
Refs,
dosync, alter, commute, ensure, ref-set, watches, and the C API mirror. Single-version optimistic locking and how it differs from JVM canon.Performance
Numbers, allocation costs, and guidance for keeping mino fast. When to move work to C.
Platform Support
Operating systems, compilers, and language floors. What CI tests and the minimums below which nothing is exercised.
Dependencies
How the module resolver wires up
mino.edn declarations: bundled stdlib, on-disk lib/, and git-fetched repos via mino deps.