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 crates.io. 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.)
Examples of valid code can be found by looking at tests in the tests/run-pass directory.