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 382a09cd0d v0.5.0 11 months ago
.builds ci: fix clippy 11 months ago
.github ci: disallow clippy warnings 11 months ago
builtin feat: struct definitions (#12) 11 months ago
contrib feat: contrib: add pkgbuild 11 months ago
docs docs: add docker installation method 11 months ago
examples feat: assignment operators (#10) 11 months ago
lib chore: remove unnecessary file 11 months ago
src feat: better statement and binop error messages 11 months ago
tests Modules (#17) 11 months ago
.Dockerignore feat: add docker image 11 months ago
.gitignore chore: ignore playground 11 months ago v0.5.0 11 months ago chore: move contributing guidelines to 11 months ago
Cargo.lock v0.5.0 11 months ago
Cargo.toml v0.5.0 11 months ago
Dockerfile feat: add docker image 11 months ago
LICENSE Add license 1 year ago docs: fix typo 11 months ago
TODO docs: document while loops 11 months ago
book.toml Add docs 1 year ago docs: fix build script 12 months ago

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.

Why yet another language?

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.


// examples/

fn main() {
    let num = 10

fn fib(n: int) {
    if n <= 1 {
        return n

    return fib(n-1) + fib(n-2)

// -> 55

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 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.


Documentation is hosted here.

Getting started

See the installation instructions to get started.

Chat on matrix

Get in touch!


This software is licensed under the Apache-2.0 license.