Hide implementation detail of qsym - str() returns raw value
Add support for parsing files and creating ufun's
Add support for calling ufun's
Add support for define
Add support for referencing arguments

Also, fix the constructor of the dsym.
Add support for make for arguments
Fix parsing numbers

Symbols could be parsed as numbers because of forced radix.
let [a 5] parsed as <symbol: let>, 10, 5

Checking 0x before forcing hex solves the problem.

Parsing octals has been moved as a minor optimization.
Add support for let, including make for locals
Fix messages of thrown excpetions
Fix definition of specials

As prims and externals, specials need outputs attribute, but in
javalogo version they were patched up, hence were missed.
Add support for globals
Add support for constants (compatibility issue)

In addition to operators, allowed by javalogo version, any Python
expression can be used to define a constant (provided that the
expression evaluates into an int or a float). For previous constants
to be recognized they have to be surrounded by whitespace.
Add support for infix operators
Match externals to javalogo version
Match primitives to javalogo version
Make compile_file actually read the file
Fix 'not enough inputs' exception

javalogo version used fall-through to include the item into
the error text; here we have to do it manually.
Attempt to give a better error on an empty ()

Originally, print () would result in ') doesn't output', which is
true, but somewhat subtle. Now, print () would result in 'misplaced )'
which is still true and somewhat more direct.
Make compiler behave like a line-by-line command interpreter

Basically, python compiler.py behaves like jl.sh now.
If the line starts with . (dot) the rest of the line is given to
eval() instead of run_line.

Also, compile_file was renamed to be closer to javalogo syntax:
.compile('test.txt')
Add 'elaborate line editing and history features'

According to http://docs.python.org/2/library/functions.html#raw_input
all it takes to load readline to get the history and whatever they
call 'elaborate line editing'.