Skip to content
Jonathan D.A. Jewell edited this page Aug 7, 2026 · 1 revision

Getting Started

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.org download. Older documentation describing an ml command or an mlup updater is aspirational — the binary is my.

Prerequisites

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.

Build and test

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 + test

Expected 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 structure

Running a program

The binary is my, built from crates/my-cli:

cargo run -p my-cli -- <file>.my

Sample programs live in examples/, and the conformance corpus — valid and deliberately-invalid programs — in conformance/.

What actually works

  • 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 a std:: source-module tree.
  • There is no async/await, no channel runtime, and the AI surface performs mock operations.

Where to go next

my-lang

Home

Using it

Understanding it

State of play


In the repository


0.2.0 · early alpha · MPL-2.0

Clone this wiki locally