docs.rs failed to build mathic-0.2.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
🧮 Mathic
A programming language with built-in symbolic algebra, powered by LLVM/MLIR
Features
- Symbolic expressions — first-class symbolic algebra: declare symbolic variables, compose expressions with
+,-,*,/, and evaluate with concrete values at runtime. - JIT compilation — programs are compiled on-the-fly via MLIR/LLVM and executed natively.
- MLIR-powered — a custom MLIR dialect (
symbolic) represents symbolic expressions, lowered toarith+funcfor native codegen. - Statically typed — type-checked at compile time.
Example
df main i32
Declares symbolic variables (sym), composes expressions with arithmetic, and evaluates them with concrete values at runtime.
Prerequisites
LLVM/MLIR 21 is required. After installing, set:
macOS (Homebrew)
You may also need:
Building from source
Requires ~6 GB RAM and ~20 GB disk space.
Installation
Make sure
LLVM_SYS_211_PREFIX,MLIR_SYS_210_PREFIXandTABLEGEN_210_PREFIXare set before building.
Usage
Project
See docs/ for the full project structure and pipeline. See docs/dialects/Symbolic.md for the symbolic dialect reference.
Status
Early development. Features are added incrementally. The symbolic dialect and its lowering passes are functional but evolving.
Built with ❤️ and 🦀 Rust