# 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?) [![docs](https://img.shields.io/badge/docs-mdBook-blue.svg)](https://garritfra.github.io/sabre/latest) [![Chat on Matrix](https://img.shields.io/badge/chat-on%20Matrix-green)](https://matrix.to/#/#sabre:matrix.slashdev.space?via=matrix.slashdev.space) 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 Most algorithms should run fine, but some features may be unstable. Standard library is still incomplete. See [TODO](./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 ```rs // 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](https://garritfra.github.io/sabre). ## Installation See [installation](https://garritfra.github.io/sabre/latest/introduction/installation.html). ## Chat on matrix [Join here!](https://matrix.to/#/!eaupsjLNPYSluWFJOC:matrix.slashdev.space?via=matrix.slashdev.space) ## License This software is licensed under the [Apache-2.0 license](./LICENSE).