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.

57 lines
2.1 KiB

12 months ago
# The Sabre Programming language
10 months ago
[![](https://img.shields.io/crates/v/sabre-lang.svg)](https://crates.io/crates/sabre-lang)
![Continuous integration](https://github.com/garritfra/sabre/workflows/Continuous%20integration/badge.svg?branch=master)
12 months ago
[![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)
12 months ago
Sabre is a bullshit-free (©) programming language that gets out of your way.
12 months ago
It is meant to "just work", without adding unnecessary and bloated language features.
12 months ago
10 months ago
## Why yet another language?
12 months ago
9 months ago
The goal of Sabre is to be a simple language that anyone - beginner and expert - can pick up and use. A "bullshit-free programming language" is of course a highly subjective opinion, and this project is my very own attempt at this. There are plenty of great programming languages out there, and Sabre is not meant to replace any of them. Currently, Sabre is just a general-purpose toy language. Its primary goal is to be simple and easy to understand, not to be efficient.
10 months ago
## Example
12 months ago
```rs
// examples/fib.sb
12 months ago
fn main() {
10 months ago
let num = 10
println(fib(num))
12 months ago
}
12 months ago
fn fib(n: int) {
12 months ago
if n <= 1 {
return n
}
return fib(n-1) + fib(n-2)
}
// -> 55
12 months ago
```
10 months ago
## State of this project
Most algorithms should run fine, but some features may be unstable. Standard library and documentation are still incomplete. See the [open issues](https://github.com/garritfra/sabre/issues) for upcoming todos.
The Sabre compiler emits JavaScript for the Node.js runtime, and a C backend is currently under development. Backends for WASM and LLVM are planned.
10 months ago
## Documentation
10 months ago
Documentation is hosted [here](https://garritfra.github.io/sabre).
10 months ago
10 months ago
## Getting started
10 months ago
10 months ago
See the [installation](https://garritfra.github.io/sabre/latest/introduction/installation.html) instructions to get started.
10 months ago
## Chat on matrix
[Get in touch](https://matrix.to/#/!eaupsjLNPYSluWFJOC:matrix.slashdev.space?via=matrix.slashdev.space)!
12 months ago
## License
This software is licensed under the [Apache-2.0 license](./LICENSE).