Sign inSign up

micalang/mica

By micalang

Updated 8 days ago

Statically typed systems language with optimizing native backend, compiled to Linux x86_64/AArch64.

Image
Languages & frameworks
Machine learning & AI
Developer tools
0

1.7K

micalang/mica repository overview

Mica

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

Try it in one minute

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 full development setup

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.

What is in the image

PieceDetail
micathe compiler driver — one statically linked executable
standard library and runtimefor both architectures, resolved automatically
binutils, libc6-devthe assembler and linker Mica drives, and what compiled programs link
gdbsource-level debugging works immediately on Mica binaries
valgrind, hyperfinecallgrind'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-clangone command adds a C toolchain for work at the C boundary
mica-install-sdkfetches 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.

Tags and platforms

  • latest — the current release
  • <version> (for example 7.5.0) — that release, kept permanently, so a pinned tag keeps building forever

Every 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.

Learn more

License

The 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.

Tag summary

Content type

Image

Digest

sha256:1cb7929cd

Size

143.3 MB

Last updated

8 days ago

docker pull micalang/mica