Transmute is a general purpose programming language.
let fibonacci(n: number): number = {
if n <= 1 {
ret n;
}
fibonacci(n - 1) + fibonacci(n - 2);
}
fibonacci(5);
let fact(n: number): number = {
let product = 1;
while n > 0 {
product = product * n;
n = n - 1;
}
product;
}
fact(3);
Build + test everything:
$ ./test.sh
cargo install cbindgen
cargo install cargo-insta
brew install llvm@18
- Get clang 18 (on ubuntu: https://ubuntuhandbook.org/index.php/2023/09/how-to-install-clang-17-or-16-in-ubuntu-22-04-20-04/)
- this install
clang-18
in/usr/lib/llvm-18/
- this install
- install the requried dependencies:
sudo apt install libpolly-18-dev libzstd-dev libz-dev
- Make sure:
clang
is in yourPATH
and points to clang-18llvm-link
is in yourPATH