Fixed: forgot to define the power operator (**). Fixed: bugs in the built-in arithmetic operators, subtraction now does subtraction instead of addition. Division of floating point numbers is still incorrect, haven't removed debugging messages.
Fixed the division operator. Actually, I forgot that the parser would automatically return an integer type if the radix was zero. I changed that, now if a number ends in ".0", it is treated as a ratio type. You need to spcify float with the "f" prefix to the integer literal.
I think it is better if the "ratio" constructor and pretty-printer use the "/" character rather than the "%" character to separate the numerator and denomenator because this is closer to the meaning in C/C++/JavaScript style languages.
It might be helpful to mention that Dao objects serialization uses it's own binary format instead of JSON as one might expect.