Skip to content
A subset of Arc implemented in PIR targeting the Parrot virtual machine
Parrot Perl Arc Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ac
arc
benchmarks
build
compiler
dynext
lib/Parrot/Test
src
t
.gitignore
Configure.pl
DIFFERENCES
INSTALL
LICENSE
README
STATUS
arc.pir
arcall.pir
bootstrap.sh
builtins.pir
compiler.pir
file_test.txt
read.pir
symtable.pir
test.sh
test_serv.arc
types.pir
types_macros.pir

README

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.
You can’t perform that action at this time.