An unassuming language with a way to create code in macros using hygienic string interpolation.
$ git clone [email protected]:masak/mozzarella-programming-language.git
$ cd mozzarella-programming-language
$ npm install
$ npm test
There's a spec/ directory with individual specification files describing each incremental feature in fairly-precise human-targeted prose. The specification text in those files is not meant to be completely formal, but enough for a human implementor to be able to correctly guess the intended implementation.
- integers
- strings
- booleans
- none
- integer operators
- string operators
- boolean operators
- comparison operators
- parentheses
- expression statements
- empty statements
- statement lists
- block statements
-
doexpressions -
ifstatements - arrays
- indexing
- variable declarations
- variable reference
-
forstatements - assignments
-
whilestatements -
laststatements -
nextstatements - functions
- calls
- parameters
-
returnstatements - macros
- code quotation
- quote interpolation
- macro hygiene