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
13
14
15
16
17
df main() i64 {
    return is_even(10);
}

df is_even(n: i64) i64 {
    if n == 0 {
        return 1;
    }
    return is_odd(n - 1);
}

df is_odd(n: i64) i64 {
    if n == 0 {
        return 0;
    }
    return is_even(n - 1);
}