Statically typed systems language with optimizing native backend, compiled to Linux x86_64/AArch64.
1.7K
The official image of the Mica compiler — a statically typed systems language with its own optimizing native backend and a built-in numeric and machine-learning surface, from tensors with compile-time shapes to an autograd tape and GPU-resident training.
One pull is a complete working environment: the compiler, the GNU assembler and linker it drives, and gdb ready for the DWARF debug information Mica emits. Nothing else to install.
docker run -it micalang/mica
mica --version
Inside the container, save this as Hello.mica:
program Hello;
imp
WriteLn : std;
begin
WriteLn("hello from mica");
end.
and build and run it:
mica --compile --link --optimize release \
--platform linux,amd64,utf-8 \
--source Hello.mica --build build
./build/Hello
Substitute arm64 for amd64 on an ARM machine. The result is one
self-contained native binary — no runtime, no interpreter, no dependencies.
The image is also a ready-made VS Code dev container. Clone the starter repository and reopen it in the container:
git clone https://gitlab.com/mica-lang/mica-container.git
code mica-container # then: Reopen in Container
With the Mica extension you get diagnostics, navigation, hovers, and notebooks, and F5 compiles and debugs the file you have open under gdb. The repository carries the whole example suite — from first programs to a GPT trained in pure Mica — plus the benchmarks and the verified notebooks, all working out of the box.
| Piece | Detail |
|---|---|
mica | the compiler driver — one statically linked executable |
| standard library and runtime | for both architectures, resolved automatically |
| binutils, libc6-dev | the assembler and linker Mica drives, and what compiled programs link |
| gdb | source-level debugging works immediately on Mica binaries |
| valgrind, hyperfine | callgrind's attribution of instructions to procedures and lines, and the wall clock — the profiling tutorial's tools, beside gdb's inlined frames |
mica-install-gcc / mica-install-clang | one command adds a C toolchain for work at the C boundary |
mica-install-sdk | fetches the Dragon SDK — the compiler's backend as a C API — on request |
The image is deliberately lean: the C toolchains and the SDK install in seconds when asked for, so the pull stays small.
latest — the current release<version> (for example 7.5.0) — that release, kept permanently, so a
pinned tag keeps building foreverEvery tag is a multi-platform image for linux/amd64 and linux/arm64;
docker pull selects your architecture automatically. During the build, each
platform installs the released package and runs the compiler before its layer
is kept.
.deb
packages, if you would rather not use DockerThe Mica compiler is free for any use, including commercial work, under the
Mica Compiler License 1.0. The Dragon SDK installed by mica-install-sdk is a
separate package under its own license. Details:
mica-dev.com/company/licensing.
Content type
Image
Digest
sha256:1cb7929cd…
Size
143.3 MB
Last updated
8 days ago
docker pull micalang/mica