Mica for Visual Studio Code
The editor face of Mica, the deterministic AI systems language: notebooks whose outputs are verified
facts, semantic highlighting and hovers answered by the compiler itself, one-click run and debug, and
a runtime view in which the stopped program explains its own tasks and its autograd tape.
mica-dev.com · Language & compiler documentation · Blog · VS Code extension · YouTube
Mica is a statically typed systems language that compiles to native Linux x86-64 and AArch64 binaries.
Training a network is ordinary Mica: tensors are types, the autograd tape is a language construct, and a
run prints the same digits every time. This extension teaches Visual Studio Code the whole of it.
This version accompanies compiler release 7.5. That release adds no new sentence to the language
and a great deal beneath it: performance measured on machines anyone can rent, memory brought down,
checked builds on the optimizing lowering, and a compiler hardened by an adversarial sweep and by its
own gates - the foundation the AI work stands on. The language server this extension talks to is that
compiler, so everything it answers in the editor is what 7.5 knows. The place to learn Mica is the
website: the Learn area walks from the first program to a GPT trained
on a graphics card, the technical reports state the design whole, and
the blog announces every release with its measurements. Follow the blog,
and read this extension's change log for the editor's half of each release.
Here is the headline in one picture — a chapter of the AI course as a Mica Notebook, just after
Verify Notebook re-ran every cell: each recorded output holds digit for digit, and the training
run's falling loss is drawn as a sparkline under the digits that printed it:
Mica Notebooks
A Mica notebook is a plain markdown file (.mica.md) in which every ```mica fence is a cell holding
one complete program and the ```output fence under it is a recorded fact. The file renders unchanged
on GitLab and the website, and git diffs show edits and nothing else.
- Run a cell and the fresh output lands under it, through the installed compiler's own runner.
- Verify Notebook re-runs every cell and holds the fresh output against the recorded fence: a
success mark for promises kept, a recorded-versus-this-run diff for drift, one summary line for the
document.
Verify proves outputs and never rewrites them.
- A loss-column sparkline draws the falling line of a training run directly under the output that
printed it, from the printed digits.
Run, debug, and the runtime view
- Run File compiles and executes the current file like a script; Debug File stops on breakpoints
with locals, stepping, and watch — the compiler emits full native debug information.
- The Mica Runtime view shows what the stopped binary itself narrates: the task tree with each
task's state, every generator's suspension point, and the autograd tape's summary — read live from the
process at every stop.
The editor
- Semantic highlighting — every identifier colors by what the compiler resolved it to, not by its
spelling.
tracked values render italic and code inside a tape window renders bold, so autograd
code reads quietly different from plain arithmetic.
- Hover states the whole contract: a tensor's type with its shape —
tracked matrix[64, 48] of float64 — and a fallible function's signature with its fails domain.
- Diagnostics appear when a file opens and on every save, at the exact positions the compiler
reports; go to definition and the document outline ride the same resolved program.
- Glyph input — type
\alpha for α, \times for ×, w_1 for w₁: the formula names the
compiler accepts in source, offered as you type.
- Syntax highlighting for the complete current language, generated from the compiler's own lexical
tables, with
begin/end folding, automatic indentation, and word selection that understands
0x, 0b, and 1_000_000.
What works without what
| Capability |
Needs |
| Syntax highlighting, folding, indentation, glyph input |
nothing — works out of the box |
| Diagnostics, definition, hover, outline, semantic highlighting |
the Mica compiler on PATH |
| Notebooks: run cells, Verify, sparkline |
the Mica compiler on PATH |
| Run File, Debug File, the Mica Runtime view |
the Mica compiler on PATH |
The language features are provided by the Mica compiler itself running as a language server, so what the
editor underlines is exactly what the build would report. The compiler is available from
mica-dev.com/learn/install; a different location can be set with
mica.languageServer.path. Without the compiler, the extension stays with highlighting and shows a
single notice.
Extension settings
| Setting |
Default |
Effect |
mica.languageServer.enabled |
true |
Start the language server for diagnostics, definition, hover, outline, and semantic highlighting. |
mica.languageServer.path |
(empty) |
Path to the Mica compiler executable. When empty, mica is resolved from PATH. |
mica.notebook.runTimeoutSeconds |
60 |
Stop a notebook cell's run after this many seconds. |
Licence
This extension is licensed under the MIT licence. The Mica compiler is a separate product with
its own licence — see mica-dev.com.
| |