Skip to main content

It's not
rocket science. Is it?

Started as a joke to learn the inner mechanics of a interpreted languageRocketLang quickly evolved into a long running projects with some more orless 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.yeet()
=> "php"

πŸš€ > langs.yoink("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 threat 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.wat()
=> BOOLEAN supports the following methods:
plz_s()

πŸš€ > 1.methods()
=> ["plz_s", "plz_i", "plz_f"]