mirror of https://git.sr.ht/~garritfra/sabre
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Garrit Franke
4a4634e2d7
|
3 years ago | |
---|---|---|
.builds | 3 years ago | |
.github/workflows | 3 years ago | |
builtin | 3 years ago | |
docs | 3 years ago | |
examples | 3 years ago | |
lib | 3 years ago | |
src | 3 years ago | |
tests | 3 years ago | |
.gitignore | 3 years ago | |
Cargo.lock | 3 years ago | |
Cargo.toml | 3 years ago | |
LICENSE | 3 years ago | |
README.md | 3 years ago | |
TODO | 3 years ago | |
book.toml | 3 years ago | |
build_docs.py | 3 years ago |
README.md
The Sabre Programming language
Sabre is a bullshit-free (©) programming language that gets out of your way. It is meant to "just work", without adding unnecessary and bloated language features.
State of this projects
Currently, Sabre is a general-purpose toy language. Its primary goal is to be simple and easy to understand, not to be efficient. Most algorithms should run fine, but some features may be unstable. Standard library and documentation are still incomplete. See TODO for a roadmap.
The Sabre compiler emits JavaScript, and a C backend is currently in development. Backends for WASM, x86 and ARM are planned.
Examples
// examples/fib.sb
fn main() {
let num: int = 10
println(fib(num))
}
fn fib(n: int) {
if n <= 1 {
return n
}
return fib(n-1) + fib(n-2)
}
// -> 55
Documentation
Documentation is hosted on GitHub Pages.
Installation
See installation.
Chat on matrix
License
This software is licensed under the Apache-2.0 license.