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 6ff65ea610 Garrit Franke (35): 1 year ago
.builds Add node package for testing 1 year ago
.github/workflows Fix run command 1 year ago
builtin Generate function prototypes 1 year ago
docs Add "writing documentation" to contributing docs 1 year ago
examples Generate function prototypes 1 year ago
lib Add C backend 1 year ago
src Garrit Franke (35): 1 year ago
.gitignore Add docs 1 year ago
Cargo.lock Fix C runner 1 year ago
Cargo.toml Fix C runner 1 year ago
LICENSE Add license 1 year ago
README.md Add backend docs 1 year ago
TODO Remove TODO item 1 year ago
book.toml Add docs 1 year ago
build_docs.py Use git switch for building docs 1 year ago
playground.js Add optional types for declares 1 year ago

README.md

The Sabre Programming language

builds.sr.ht status docs

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

Basic algorithms should compile fine. See the examples More sophisticated programs will not work yet. 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

License

This software is licensed under the Apache-2.0 license.