A small statically-typed compiled programming language.
Originally written in Rust, but now self-hosted (the compiler is written in itself). The original Rust-based implementation has been extracted out and can be found here for historical reference.
This project is very much a work in progress: you can check the documentation site for more information
Download the latest abra
binary from the Releases page, and
place it wherever you want on your system (e.g. ~/.abra
). You will then need to export an $ABRA_HOME
environment
variable which points to the ~/.abra/std/
directory.
You should then be able to run
// example.abra
println("Hello world")
$ abra example.abra
Hello world
It should look familiar, a lot of inspiration was drawn from modern languages like Swift and Kotlin:
func fib(n: Int): Int {
if n == 0 {
0
} else if n == 1 {
1
} else {
fib(n - 2) + fib(n - 1)
}
}
println(fib(10))
You can also see and play with more examples on the Try It Out page of the language documentation site.