Skip to content

Repository files navigation

Animated Zmeu dragon mascot flying

Zmeu

GitHub release CI Release Rust 2024 LLVM/MLIR 20 GitHub license

Zmeu (named after the zmeu, a dragon, from the Slavic zmey, змей, meaning "dragon" or "serpent") is a systems programming language with an indentation-based source syntax and an owned-value memory model: ownership and borrowing are checked at compile time, before any code is generated. Programs run two ways: a built-in interpreter, and a native path that lowers a custom MLIR dialect to LLVM IR and a clang-linked executable. It also has structured, scoped concurrency with green tasks and a Linux reactor for direct-style I/O.

See STATUS.md for the precise, up-to-date snapshot of what the compiler implements today.

Table of Contents

Documentation

Quick Start

cargo test
cargo clippy --all-targets -- -D warnings
cargo build --features mlir-backend
env -u MLIR_DIR -u LLVM_DIR -u ZMEU_MLIR_DIR -u ZMEU_LLVM_DIR cargo test --features mlir-backend

Check an example program:

cargo run -- check examples/core/control_flow.zmeu

Build a native binary through the MLIR backend:

cargo run --features mlir-backend -- build examples/core/control_flow.zmeu -o /tmp/zmeu-control-flow

Repository Map

  • src/: Rust compiler frontend, HIR/MIR pipeline, interpreter, and CLI.
  • runtime/: C runtime support used by native builds.
  • std/: Zmeu standard-library sources.
  • mlir/: MLIR dialect, passes, and C API bridge.
  • tests/phase0/: frontend, interpreter, MLIR, runtime, and diagnostic tests.
  • examples/: executable source examples and fixtures.
  • benchmarks/: benchmark fixtures, IR counters, and performance scripts.

Sponsors

Thank you so much for supporting Zmeu!

Sponsor on GitHub

Star History

Star History Chart

Contributing

See CONTRIBUTING.md for local checks, optional MLIR backend setup, CI expectations, and documentation hierarchy.

Contributors

Zmeu contributors

License

Zmeu is licensed under the Apache License 2.0.

About

Zmeu — a systems programming language with its own syntax, compile-time ownership & borrow checking, structured concurrency, and an MLIR-to-LLVM native backend.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages