A succinct lisp interpreter in JavaScript.
Rania is built using Node 9.3.0
and Babel transpiler. Babel-register is used to compile ES6/ES7 into ES5 and run Node in development mode.
In production, babel-register is not used but code is compiled before running the babel
command from the babel-cli
package.
To install dependencies
yarn install
or npm install
To start running Node
yarn start
or npm start
To build and compile using Babel
yarn dist
or npm run dist
To delete files in build directory
yarn clean
or npm run clean
To deploy latest build
yarn deploy
or npm deploy
To run tests using Jest
yarn test
or npm test
To start using Rania, first build using npm run dist
and then run node build/repl
- Implement parser that creates tokens and an abstract syntax tree
- Make environment object that maps variables to their values
- Implement evaluator that evaluates program given a syntax tree and environment object
- Create REPL to run Rania programs
Rania is released under the The Apache 2.0 License.