mathic 0.2.0

A compiler with builtin support of symbolic operations, built with LLVM/MLIR
1
2
3
4
5
6
7
8
9
10
11
12
df main() i32 {
    let a: i32 = 5;
    sym x: expr<i32>;

    let e: expr<i32> = x + a;
    let r1: i32 = eval(e, x, 10);

    let f: expr<i32> = 3 * x + a;
    let r2: i32 = eval(f, x, 10);

    return r1 + r2;
}