Coder Social home page Coder Social logo

rocket's Introduction

The Syntax* Hackable Language


About ๐Ÿ“–

Rocket is a High-level Dynamically-typed Object-Oriented Programming Language that enables easy keyword-syntax customization out-of-the-box.

More


Docs ๐Ÿ“š

KSL Whitepaper ๐Ÿ“„
Specification for Information on The Language Specification.
Code Samples for code samples.


Rocket's Compiler & Interpreter

The Rocket Repo comes with Rocket's C VM (Rluna) as well as the Python Interpreter (Stellar).

Which am I running?

Just type in rocket -v or rocket --version. You would see the Rocket version aswell as the name of the interpreter and its associated version. E.g:-

$ rocket -v
Rocket v0.1.8-p [Stellar v0.2.7-b]

From the output above, we can see that we are running stellar v0.2.7-b.

Rluna ๐ŸŒ•

Note: Rluna is still in development.

Rluna is intended to be a compiler for Rocket, and when finished would be used to compile source code into an intermediate "parts" file and executed by the vm.

Stellar ๐Ÿ’ซ

This is recommended for Beginners and Users who prefer to use the interactive shell or run their code without compiling. Like the Python interpreter, Stellar can be run as an interactive shell by invoking the rocket command which would start the interactive shell:-

$ rocket
Rocket 1.0.1 | Rocket Labs | [Stellar 0.2.1] (Ubuntu 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.

><>

Or alternatively, invoke the rocket command followed by a file path to execute a Rocket program like so:-

$ rocket hello.rckt
Hello Wolrd!
$

Invoking the rocket command and the --help option would produce a list of Stellar's usage. E.g:-

$ rocket --help
usage: rocket [ <option> | <file> ]

    Options and arguments (and corresponding environment variables):
    -c cmd : program <cmd> entered as string and executed
    -h     : print this help message and exit (also --help)
    -q     : don't print version and copyright messages on interactive startup
    -v     : print the Rocket version number and exit (also --version)

    file   : program read from script file

    RCKTPROMPT: Rocket Lang prompt environment variable. Default "><> ".

Installation ๐Ÿ’พ

Source ๐Ÿ“œ

You need Python 3.6.x+ installed.

# clone the repo
$ git clone https://github.com/Zero-1729/rocket/

# Navigate into the repo and install the necessary packages
$ cd rocket/stellar

# Run the REPL
$ python main.py

# Install stellar to use in Python
$ python setup.py install

Contributing ๐Ÿ‘ฅ ๐Ÿ”ง

Note: You need Python 3.6.x+ and git installed.

# clone the repo and Navigate into repo
$ git clone https://github.com/Zero-1729/rocket/ && cd rocket/stellar

# install stellar package
$ python setup.py install

Just hack on it as you wish!

The Rocket folder has the following structure:-

$ tree
rocket
.
| -docs
| -logo
| -rluna # Unfinished C compiler
| -stellar # Python interpreter
| -tests
| -tutorials
.

Feel free to open a PR or issue to discuss any bugs ๐Ÿชฒ, improvements ๐Ÿ“ˆ, Ideas ๐Ÿ’ก, etc.


Acknowledgements ๐Ÿ“Œ

Rocket's creation was made possible by the insights provided by Robert Nystrom in his craftinginterpreters series and various other works like byterun.


Copyright ยฉ Abubakar Nur Khalil :neckbeard:
RLOL ยฉ 2018 - present

rocket's People

Contributors

zero-1729 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.