Let functionality has been expanded so that you dont have
to specify var type in the let form, it can now be infered
from the let-form's set value. let forms allow dynmaic scope.

Also setf and the basic operators (+ - *) are implemented.
Well I am on my retreat and I am hammering away at this.
I don't think I have ever tried to learn a language by
writing a translator before, but it is fun....and pretty ugly!

It'll be fine eventually, to be honest the big thing for me
right now is just being able to get it working enough to use
it in cepl. That'll be a great moment.

Things I have been up to:
* Got the full type system working. It's not there yet as its
  not very tidy but I have most functions, structs and such
  available.
* I've got the starts of what will be the method for modifying
  the language for the various modes (vertex,frag, etc)
* I have most of the inbuilt vars defined
* I have switched the function and substitution stores to be
  alists rather than hash-tables so I can make use of them
  through dynamic variables, its how I implement function and
  variable scope in the program.
* I have extended the code object but to be honest it needs
  more work.. and a lot of tidyin up.
* As mentioned I have nearly all functions available along with
  the type casting initializers
* I have the start of the code which will allow clean definitions
  of the 'out' vars
* I think all the operators now work... * may need revisiting