Skip to main content

It's not
rocket science. Is it?

Started as a joke to learn the inner mechanics of a interpreted language, RocketLang quickly evolved into a long running project with more and more ambitious goals, such as being used for Advent of Code to test it's limits.

๐Ÿš€ ยป puts("hello from rocket-lang!")
"hello from rocket-lang!"
ยป nil

๐Ÿš€ ยป langs = ["ruby", "go", "crystal", "python", "php"]
ยป ["ruby", "go", "crystal", "python", "php"]

๐Ÿš€ ยป langs.pop()
ยป "php"

๐Ÿš€ ยป langs.push("rocket-lang")
ยป nil

๐Ÿš€ ยป langs
ยป ["ruby", "go", "crystal", "python", "rocket-lang"]

Get started quickly

$ brew install flipez/homebrew-tap/rocket-lang

You can also install RocketLang via APT, RPM, as a binary or from source. See  the install guide  for more detailed information.

๐Ÿš€ ยป JSON.parse('{"test": 123}')
ยป {"test": 123.0}


๐Ÿš€ ยป a = {"test": 1234}
ยป {"test": 1234}


๐Ÿš€ ยป a.to_json()
ยป '{"test":1234}'

Strong and stable builtins

RocketLang ships some neat builtins such as handling HTTP requests and responses, marshalling and unmashalling of JSON objects.

It also comes with support of closures, modules and context sensitive variables in order to create complex programs.

Everything is an object

Inspired by Ruby, in RocketLang everything is an object.

This allows to treat unknown input in the same way and figuring out what kind of information your function passes on the go. Every object supports the same minimum default subset of methods to achive this.

๐Ÿš€ ยป "test".type()
ยป "STRING"

๐Ÿš€ ยป true.to_s()
ยป "true"

๐Ÿš€ ยป 1.4.to_s()
ยป "1.4"