Skip to content

A subset of Arc implemented in PIR targeting the Parrot virtual machine

License

Notifications You must be signed in to change notification settings

stefano/primitivearc

Repository files navigation

The aim of this project is to write a super-simple compiler for a subset of Arc
targeting the Parrot virtual machine. 

Roadmap:

* Runtime 
  * Implement basic datatypes:
    * t and nil -- done
    * Cons cells -- done
    * Symbols -- done
    * Tagged types -- done
    * Strings, numbers, functions, hash tables and continuations 
      are already built-in 
  * Operations on basic datatypes:
    * car, cdr, cons, list -- done
    * symbol table and intern -- done
    * rep and annotate -- done
  * Call table
    * call table infrastructure -- started
    * dispatch on type of element in function position -- done
    * defcall -- not in Arc standard. Should be added anyway?
* Reader
  * Numbers -- done
  * Symbols -- done
  * Strings -- done
  * Lists and dotted lists -- done
  * [ ... ] syntax -- done
  * intrasymbol syntax: '.', '!', ':' -- done
  * quote -- done
  * quasiquote and unquote -- done
* Compiler
  * quote (complex constants) -- done
  * if with multiple choices -- done
  * fn 
    * basic -- done
    * optional and destructuring args -- done
  * ar-call -- done
  * tail calls -- done
  * apply -- done
  * set -- done
  * macros
* Builtin functions
  * ccc -- done

See file STATUS for more details.

About

A subset of Arc implemented in PIR targeting the Parrot virtual machine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published