As some of you may know, I've been working on implementing Self in
let the list know about the progress. Today I put together a little demo of
what is currently working and a bit of a post on what is not:
The video is 720p so don't bother trying to watch it on your iPhone :)
It is not a fully functional system yet, it is about 40% of the way there,
and the compiler will require a rewrite before it is ready for actual use.
But the bones are there and for certain simple statements which invoke
built-in functions you can make little things happen. The way this thing
works currently is it parses a string into a set of tokens, and then
you look here:
you will see that I'm seriously abusing some little used features of the
effect, the entire program consists of lists of strings passed to a self
evaluating function object. This makes it possible to generate a rather
simple transformation engine which rewrites the self code into a highly
how it works in your head, it is surprisingly legible.
If anyone would like to comment, contribute, or recommend some better parser
techniques for the full self syntax, I'd appreciate the guidance. Mostly I
am working through a set of test cases I extracted by looking at my own Self
objects and bits of the system. I'm not too concerned about being 100%
compliant at the moment, but simply want to trend towards completeness.