-
-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
Jonathan D.A. Jewell edited this page Aug 7, 2026
·
1 revision
The only supported installation is a source build. There is no installer script, no Homebrew/apt/dnf package, no crates.io publication, and no
mylang.orgdownload. Older documentation describing anmlcommand or anmlupupdater is aspirational — the binary ismy.
| Need | For |
|---|---|
| Stable Rust toolchain | everything |
just |
the task runner — it is the golden path |
| System LLVM 21 | only for the my-llvm back end (excluded from default build/test) |
| Coq/Rocq | only for just proofs-coq
|
| Idris2 | only for just proofs-idris
|
You do not need LLVM, Coq or Idris2 to build and test the compiler.
git clone https://github.com/hyperpolymath/my-lang.git
cd my-lang
just init # initialise submodules (proof tracks, vendored specs)
just check # fmt-check + lint + testExpected result: 221 tests pass, 0 failures (measured 2026-08-07, excluding
my-llvm).
Useful recipes — run just --list for the full set:
just build # build the workspace (excludes my-llvm)
just build-all # include the LLVM back end (needs LLVM 21)
just test # unit + conformance tests
just pipeline # end-to-end smoke: build → parse → interpret an example
just demo # run the dialect demos
just proofs # both proof tracks
just verify # check repository structureThe binary is my, built from crates/my-cli:
cargo run -p my-cli -- <file>.mySample programs live in
examples/, and
the conformance corpus — valid and deliberately-invalid programs — in
conformance/.
- Solo is the only live dialect. Duet and Ensemble are proofs plus scaffolding.
- The pipeline parse → HIR → MIR → LLVM → native works on x86_64 and aarch64.
- The standard library is ~60 flat Rust builtins (
fs_read_file,map_new,json_parse,date_today, …) — not astd::source-module tree. - There is no
async/await, no channel runtime, and the AI surface performs mock operations.
- Architecture — how the crates fit together
- Formal Verification — the proof tracks
-
CONTRIBUTING.md— including the commit-signing requirement (enforced by branch ruleset)