hi, I'm working on a tutorial for using the PCT (will be published on parrotblog.org). For that purpose I built a case study language, which is simple enough to understand and implement in a straightforward way, yet it has enough features to demonstrate the power of the PCT. An important issue in the design of this language was that I want to provide a *complete* language, not one with "missing features" due to lack of PAST/PCT support (there is of course still the issue of disappearing local variables in interactive mode, but that will be made clear in the tutorial)
IMO, it's more or less finished now. (I wanted to implement the Game of Life as a nice demo, but it might take a while before I get that working) Features are: * variables: globals, locals * subroutines and parameters * if/while/try/throw/for statements * assignments and subcalls * basic types: integer, float, string * aggregate types: array, hash * operators: +, -, /, *, %, not, and, or, .. (string concat), and relational ops (<, == etc) notable missing features (by choice) are: * return, break, continue and friends * classes and objects * closures (nested subroutines, subroutines as first class citizens) For the interested reader, I added a .tar.gz file containing the source. Comments and especially suggestions are most welcome. kjs
squaak.tar.gz
Description: GNU Zip compressed data