environment variable TAROTPATH should be set to the folder that contains this text file.
$TAROTPATH/vm/vm
cd $TAROTPATH/vm ; make # to build it
$TAROTPATH/compiler
is the source code of the compiler and standard library
$TAROTPATH/qcode-1
all of the standard library .q files.
$TAROTPATH/qcode-2
loaded next, contains parser.q and compiler.q
$TAROTPATH/qcode
build scripts
$TAROTPATH/build
temporary build products
## Building and testing
add scripts to PATH
scripts/build.sh
will (self host) build the qcode
scripts/test.sh
will run the tests
both of the commands can run off chez instead of tarot if you use TAROT_BOOTSTRAP=1
## Test Directory Structure
test/
src/ contains Scheme source code to tests
run/ contains compiled qcode files
out/ contains the actual output of running the .q file
exp/ contains the expected output of running the .q file
## PITFALLS
the load order of .q files is important
if a global is used before it is defined (as opposed to just referred to in a lambda) the value will be #f
aliases like (define foo bar) may have to be eta-expanded if load order is unlucky