Tooling
Reference for Ilusm tooling. The minimal public bundle ships with ilusm, stage‑0, ilusm.ilbc, lib/, and the VSCode extension.
ilusm
Main launcher: runs .ilu files via stage-0 seed.
ilusm-vm
Direct stage-0 VM runner (symlink created by build.sh).
build.sh
Rebuild ilusm.ilbc bytecode from lib/ sources.
VSCode extension
Syntax highlighting and snippets (ships with bundle).
ilusm: main launcher
The ilusm shell script is the main launcher. It sets ILUSM_HOME, checks/rebuilds ilusm.ilbc if lib sources changed, writes the argv/env snapshot, and runs your code through the stage-0 seed.
Usage
On Windows with Git Bash: use ilusm.cmd wrapper or run ./ilusm directly in Git Bash.
ilusm-vm: stage-0 runner
The stage-0 seed binary (minimal VM). The launcher calls this internally, but you can run it directly. Created by build.sh as a symlink at bin/ilusm-vm.
Usage
Stage-0 is the minimal evaluator used to bootstrap the full language. No ILUSM_HOME auto-setup, no argv snapshot (reads ilusm_run_ctx.json).
build.sh: self-hosted build
Rebuilds ilusm.ilbc from lib/ sources using the stage-0 seed. This is the "Haskell way" - the compiler is written in Ilusm and compiles itself.
Usage
Also creates bin/ilusm-vm symlink for direct VM access. Run this after modifying any lib/ source files.
Environment variables
| Variable | Default | Description |
|---|---|---|
ILUSM_HOME | bundle root | Install root (where ilusm is installed). Set automatically by launcher. |
ILUSM_CMD | ./ilusm | Override the runner binary (used by benchmark scripts). |
VSCode extension
The ilusm VS Code / Cursor extension (syntax, snippets, default .ilu icon) ships inside the official install under vscode-extension/. It is not on the VS Code Marketplace.
Installation
- Install Ilusm from Download (or unpack the minimal bundle).
- Open the
vscode-extensionfolder inside the install root in VS Code → Run → Start Debugging (F5) for dev, or runnpx @vscode/vsce packagethere to build a.vsix. - To install a
.vsix: Extensions sidebar →⋯→ Install from VSIX… - Reload the editor.
.ilufiles pick up the bundled grammar and icon.
Features
| Feature | Details |
|---|---|
| Syntax highlighting | Keywords, literals, strings, comments, module names |
| Code snippets | fn, whl, if, use, try, common patterns |
| Run file | Ctrl+F5 runs the current file in the integrated terminal when tasks point at ilusm. |
| Run selection | Use a small scratch .ilu or your task config. |
| File icon | Default .ilu icon in the editor (heart asset in the bundle). |