Everything you need to know about Mica
Try a different search term
Mica is currently a prototype under active development (Phase 3). While the compiler works and can generate native binaries, the language is still iterating on core semantics and tooling.
You should expect:
Mica is perfect for learning compiler design, experimenting with effect systems, or prototyping language ideas—but not yet recommended for production systems.
Mica is designed to be learned in an afternoon:
The Language Tour covers everything with runnable examples. The Examples Gallery provides 20+ programs to study.
Minimum requirements:
LLVM is bundled with Rust, so no additional dependencies are needed.
While both are systems languages with memory safety, key differences include:
Mica prioritizes explicitness and auditability over maximum performance optimization.
No. Mica uses move semantics and RAII (Resource Acquisition Is Initialization) for memory management:
using blocks provide automatic cleanupA Rust-style borrow checker is planned for Phase 4 to prevent use-after-move errors at compile time.
Explicit effects make programs auditable and testable:
Example: func process(io: IO) !{io} declares that this function performs IO operations.
Mica's concurrency model guarantees reproducible results:
This makes debugging and testing concurrent programs much easier than traditional threading models.
A dedicated Language Server Protocol (LSP) implementation is planned for Phase 4. Currently available:
See the Tooling Roadmap for LSP plans.
Debugging strategies:
--ast, --ir, --llvm to inspect transformationsFuture: Time-travel debugging with deterministic replay is planned.
Yes! Interop options:
See the Ecosystem Roadmap for interop plans.
Mica compiles to native code via LLVM with zero-cost abstractions:
Target: Within 10% of equivalent Rust for most workloads. Benchmarks coming in Phase 4.
Mica prioritizes fast compile times:
Much faster than Rust due to simpler type system and smaller surface area.
Contributions are welcome! Ways to help:
See the Contributing Guide for details.
Get help through:
Mica does not yet declare a license. Until one is added, please reach out to the maintainers before using Mica in production settings.
A permissive open-source license is planned before the Phase 5 ecosystem launch.
There's no fixed timeline, but the roadmap outlines:
1.0 will likely come after Phase 5, when the language is stable and production-tested.
Yes! Planned for Phase 5:
mica.toml manifest formatmica package CLI commandsSee the Ecosystem Roadmap for details.
Current: macOS, Linux, Windows (via WSL2)
Planned:
LLVM backend provides excellent platform support out of the box.