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 da22e4f040 fix: crash in node backend when printing numbers 1 year ago
.builds Add node package for testing 1 year ago
.github/workflows Fix run command 1 year ago
builtin fix: crash in node backend when printing numbers 1 year ago
docs feat: add any type 1 year ago
examples fix: crash in node backend when printing numbers 1 year ago
lib Add C backend 1 year ago
src feat: enable test_examples tests for other backends 1 year ago
tests feat: add any type 1 year ago
.gitignore tests: add e2e test cases 1 year ago
Cargo.lock v0.2.1 1 year ago
Cargo.toml v0.2.1 1 year ago
LICENSE Add license 1 year ago
README.md docs: elaborate on state of project 1 year ago
TODO tests: add failing test_array_as_argument test 1 year ago
book.toml Add docs 1 year ago
build_docs.py docs: fix build script 1 year ago

README.md

The Sabre Programming language

builds.sr.ht status 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.