1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- 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
|