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.

48 lines
1.3 KiB

3 years ago
# The Sabre Programming language
[![](https://img.shields.io/crates/v/sabre-lang.svg)](https://crates.io/crates/sabre-lang)
[![builds.sr.ht status](https://builds.sr.ht/~garritfra/sabre/commits/ci.yml.svg)](https://builds.sr.ht/~garritfra/sabre/commits/ci.yml?)
3 years ago
[![docs](https://img.shields.io/badge/docs-mdBook-blue.svg)](https://garritfra.github.io/sabre/latest)
3 years ago
Sabre is a bullshit-free (©) programming language that gets out of your way.
3 years ago
It is meant to "just work", without adding unnecessary and bloated language features.
3 years ago
## State of this projects
Most algorithms should run fine, but some features may be unstable. Standard library is still incomplete. See [TODO](./TODO) for a roadmap.
3 years ago
3 years ago
The Sabre compiler emits JavaScript, and a C backend is currently in development. Backends for WASM, x86 and ARM are planned.
3 years ago
## Examples
```rs
// examples/fib.sb
3 years ago
fn main() {
let num: int = 10
println(fib(num))
3 years ago
}
fn fib(n: int) {
3 years ago
if n <= 1 {
return n
}
return fib(n-1) + fib(n-2)
}
// -> 55
3 years ago
```
## Documentation
Documentation is hosted on [GitHub Pages](https://garritfra.github.io/sabre).
## Installation
See [installation](https://garritfra.github.io/sabre/latest/introduction/installation.html).
3 years ago
## License
This software is licensed under the [Apache-2.0 license](./LICENSE).