Skip to content

MediLang v0.0.3 Released

We’ve shipped MediLang v0.0.3 — a release focused on end-to-end code generation via LLVM, multi-target support, and a CI matrix that keeps the project green across platforms.

Highlights

  • LLVM backend integration (feature: llvm-backend) via medic_codegen_llvm (Inkwell on LLVM 15)
  • Codegen targets and CI artifacts for:
  • x86-64
  • wasm32-wasi
  • riscv32 (initial RV32)
  • GitHub Actions CI matrix:
  • fmt/lint with rustfmt + clippy
  • test on Linux, macOS, Windows
  • quick codegen bench smoke
  • per-target artifacts from the medic CLI
  • Improved diagnostics and lexer error handling aligned with PRD Phase 1

What’s in v0.0.3

LLVM Backend

  • Enable with:
cargo build -p medic --features llvm-backend
  • Minimal codegen smoke can be produced via the medic CLI in CI and locally with:
cargo run -p medic --features llvm-backend -- --emit=x86_64 --opt=2 --out out.o << 'EOF'
fn main() {}
EOF

Swap --emit to wasm32 or riscv32 to target other platforms.

Diagnostics & Lexer

  • Clinician-friendly parser diagnostics for common mistakes (e.g., = vs ==, unmatched brackets, per operator suggestions)
  • Unified lexer error tokens across streaming and chunked modes: TokenType::Error("Invalid token '<lexeme>'")
  • Parser recovery for early lexer errors with clean EOF handling

Try It

# clone
git clone https://github.com/MediLang/medi.git
cd medi

# run tests
cargo test --workspace

# build with LLVM backend
cargo build -p medic --features llvm-backend
  • Changelog: https://github.com/MediLang/medi/blob/main/CHANGELOG.md
  • Repository: https://github.com/MediLang/medi

Looking Ahead

  • Broader IR coverage, more optimization passes
  • Execution smoke tests per target
  • Additional healthcare semantics and diagnostics