Skip to content

masak/mozzarella-programming-language

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

242 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mozzarella-programming-language

An unassuming language with a way to create code in macros using hygienic string interpolation.

Installation

$ git clone git@github.com:masak/mozzarella-programming-language.git
$ cd mozzarella-programming-language
$ npm install
$ npm test

Current ongoing tasks

Frame refactor

A rewrite of the evaluator that takes up less code, and makes the code less tangled.

                          work
                       ----------            [here]
              work                  work       |
            ----------           ----------    |
   planning                               finishing up
  ----------                               ----------
-------------------------------------------------------

Blade 32: hygiene

                          work
    [here]             ----------
      |       work                  work
      |     ----------           ----------
   planning                               finishing up
  ----------                               ----------
-------------------------------------------------------

Proper semicolon handling

The desired rule is: a statement can be properly terminated either by a semicolon (;), or by (a) the statement itself ending with a closing curly (}), and (b) the statement being followed by whitespace with a newline in it.

Respectable compiler errors

This has two parts. One, that the error messages should be humane and help the human with possible next steps. Two, that the error messages, whenever possible, should be connected to source location information, and show the source at which the error occurred.

Features

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.

Design documents

About

An unassuming language with a way to create code in macros using hygienic code interpolation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors