Mica is a statically typed systems language with its own optimizing native backend — no LLVM, no GCC backend, no external dependencies. It is influenced by Pascal, Ada, and C, and it proves at compile time what other systems languages leave to the debugger: heap lifetimes, data-race freedom, and array bounds — with no garbage collector, no borrow checker, and no lifetime annotations.
The language
| Model | values are values — assignment and argument passing copy; sharing is a visible pointer, never a hidden reference |
| Errors | a dedicated failure channel: fails functions, on fail handling — no error codes, no exceptions, no sum types |
| Concurrency | structured: the task tree is the scope tree; compile-time capture discipline; data-race freedom checked at compile time |
| Tensors | vector and matrix are value types with compile-time shape checking; w := M * v is the linear-algebra product; at the checked tier, tensor integer overflow traps exactly as scalar arithmetic does |
| Interop | links directly against C in both directions; an imported C function participates in the failure channel |
The toolchain
| Current version | 6.12.8 |
| Targets | Linux x86-64 (x86-64-v3) · Linux AArch64 (ARMv8.0-A) |
| Code generation | own backend, source to ELF — the only external tools invoked are as and ld |
| Debug information | DWARF v5 — gdb works on Mica binaries out of the box |
| Editor support | a language server inside the compiler (mica --lsp); VS Code extension as the packaged client |
| Install | Debian package for both architectures · Docker image micalang/mica |
| Licence | MCL-1.0 — free for any use, including commercial; not open source |
| Dragon SDK | the backend as a C API for building your own language — a separate package, free for noncommercial use |
The numbers
| Implementation | 184,558 lines of Go in 712 files — zero third-party dependencies |
| Standard library | 19,212 lines of Mica |
| Test corpus | 1,640 test programs · 10,164 declared test runs |
| Cross-architecture | 1,604 programs run on both architectures |
| Verification | every release passes the full corpus through the compiler, through a legacy differential oracle, and under Go’s race detector — see how it is tested |
Figures generated from the repository at 2026-08-05 — no number on this page is typed by hand.
Where to go next
Install it · what the compiler guarantees · the reference · performance and method