Skip to content
The Balloon programming language and interpreter.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

The Balloon Programming Language

Build Status

This is a very experimental project.

This is an attempt to build a general-purpose interpreted programming language (later with a focus on back-end web programming) that attempts to allow the programmer to choose their own guarantees for things like type safety.

This project is written in Rust. If you're unfamiliar with Rust, you should take a look at the Rust docs.

Prospective contributors, please take a look at the Contributors' Guide.

(Also, for the motivation behind this language, take a look at the introductory blog post, and a more detailed blog post.)


Balloon is currently not available on You will need to build it yourself using Cargo. (You could also download one of the prebuilt binaries from this project's release page.)

usage: balloon [[MODE] FILE]

where MODE is one of:
--run      (default) runs the file
--check    type check the file
--parse    only parse the file, don't run it

Not passing any arguments to balloon will start the REPL.

(There is also an (even more) experimental LLVM backend that is not documented here.)

Code examples

Examples of valid code can be found by looking at tests in the tests/run-pass directory.

You can’t perform that action at this time.