The Language

The dragon is Mica’s mascot. He holds the sign activation function — sign y=(wx+b) — flanked by π and the atom. Mathematics and physics as native territory. He is not here to be intimidating. He is here to show that systems programming can have a personality.
Mica is a systems programming language as fast as C, with memory safety the compiler proves. Leaks, use-after-free, and double-free are build errors — caught by flow analysis, with no garbage collector, no borrow checker, and no lifetime annotations. Where the compiler can’t prove a pointer safe it doesn’t guess; it tells you exactly what it couldn’t prove, and a checked build turns any residual mistake into a loud, source-located trap instead of silent corruption.
The compiler is pure Go with zero external dependencies — no LLVM, no GCC backend — and was built from scratch as a solo project over years of development. It compiles to native Linux x86_64 and ARM64 binaries with DWARF v5 debug information, and speaks the platform C ABI directly in both directions: Mica calls any C library with no wrapper, and C can call Mica in return.
For the full story of how it got here: The Mica Story. For hands-on language material, start with Learning. For compiler internals and technical references, use Documentation — or jump to the Technical Portrait.
At a Glance
| Paradigm | Statically typed, compiled, procedural, with compile-time generics |
| Memory safety | Leaks, use-after-free, and double-free are compile errors (flow analysis; no GC, no borrow checker, no lifetimes); a checked build traps anything unprovable with a source line |
| Type system | Strong and ABI-aware; an ordinal universe (enums, subranges, sets, ordinal-indexed arrays); records, pointers, nil, recursive types |
| Generics | Compile-time, monomorphized, constrained by capabilities — no boxing, no runtime cost |
| Strings | UTF-8 and UTF-32 (per target); fused concatenation (one allocation); compile-time format-string checks |
| Performance | gcc -O2 parity on core benchmarks by retired-instruction count (reproducible from committed scripts) |
| C interop | Zero-overhead and bidirectional (Mica ↔ C); cross-language debugging in one DWARF session |
| Target | Linux x86_64 (System V AMD64) and ARM64 (AAPCS64) |
| Debugging | DWARF v5, GDB, VS Code |
| Compiler | Pure Go, zero external dependencies, no LLVM; ~100,000 lines; 2,799 commits since 2023 |
Using the Compiler
Mica has a single command-line driver. A typical compile-and-link (Linux x86_64; substitute arm64 for AArch64):
mica --compile --link \
--optimize debug --assembly intel \
--platform linux,amd64,utf-8 \
--source program.mica \
--build build/program
The flags you reach for most:
| Flag | Short | Purpose |
|---|---|---|
--compile / --link | -c / -l | compile to assembly / link the result |
--source / --build | -s / -b | comma-separated .mica inputs / output directory |
--optimize | -o | debug, release, checked, plus passes (e.g. full_optimizations) |
--platform | -pf | linux,amd64,utf-8 · linux,arm64,utf-32 … |
--assembly | -asm | intel or att |
--output-modifier | -om | archive (.a) or object (.so) — build a C-callable Mica library |
--memory-class | -mc | hosted (default) or fixed-arena=<size> for freestanding/no-OS-heap targets |
--export | -exp | see inside the compiler — dump the token stream, AST, Spectra IL, control-flow graph / basic blocks, and SSA form |
Reproducible by design. The performance figures on this site are gated on the deterministic retired-instruction count and come from committed measurement scripts. A Docker image that lets anyone reproduce the
gcc -O2comparison from a clean machine is on the way — nothing here is meant to be taken on faith.
The Author
I’m Michael, a software engineer with 30+ years in IT. I built my first compiler as a student in the early 1990s, from ETH Zürich teaching materials. Three decades later I came back to compiler construction — and built Mica, with AI as a co-development partner whose every line I review. The honest version of that story is in The Mica Story.
Get Started
- Tutorials & Examples: gitlab.com/mica-lang/mica-tutorials
- VS Code Extension: Visual Studio Marketplace
- YouTube: @MicaDevelopment
- Download: Latest Release — Linux amd64
The Company

Mica is developed and maintained by Mica Development UG (haftungsbeschränkt), founded in Germany.
The company logo carries the same dragon — but in a different role. Where the mascot is a character, the company mark is a brand: bold, structured, built to last. The two identities are intentionally distinct. A language needs a personality that developers remember. A company needs a mark that works across products. The dragon is the thread connecting both — the same spirit, a different register.
Mica the language is the first product. The goal is a broader ecosystem: tools, extensions, and infrastructure built on the same foundation. More is coming.
For questions, collaboration, or compiler discussion — info@mica-dev.com