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 0848c4166b ci: fix builds.sr.ht 3 years ago
.builds ci: fix builds.sr.ht 3 years ago
.github/workflows ci: use llvm 10 3 years ago
builtin fix: crash in node backend when printing numbers 3 years ago
docs docs: document llvm target 3 years ago
examples chore: remove playground 3 years ago
lib Add C backend 3 years ago
src chore: refactor backend plugin infrastructure 3 years ago
tests feat: add any type 3 years ago
.gitignore chore: ignore playground 3 years ago
Cargo.lock ci: use llvm 10 3 years ago
Cargo.toml chore: use node target as default 3 years ago
LICENSE Add license 3 years ago
README.md GitHub actions (#3) 3 years ago
TODO feat: array as function call parameter 3 years ago
book.toml Add docs 3 years ago
build_docs.py docs: fix build script 3 years ago

README.md

The Sabre Programming language

Continuous integration docs Chat on Matrix

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

Join here!

License

This software is licensed under the Apache-2.0 license.