readtables.

Let me start at the beginning. PyPy is neat. Also I have this language implementation called Safelisp. It is meant to be a very secure interpreter of a lisp-like language, allowing totally untrusted code to be executed in a way that won't harm the machine it's running on or effect other running code in undesirable ways.

As a way to become more involved with PyPy, I have started porting Safelisp to RPython, the Python-subset that PyPy's python interpreter is implemented in. This is not easy, because RPython is very strict in ways that pretty much all of my Safelisp code does not like.

Safelisp has this thing that I called a "readtable" when I wrote it, and while it is very superficially similar to the thing that Common Lisp calls a readtable (you associate a character with a function to parse that character and perhaps things that come after it), it is not really the same. Given that I now need to mostly rewrite the Safelisp parser so that it can fit into RPython, I have also decided to clean up the readtable implementation so that it is actually sensible.

Unfortunately I haven't been able to find any general essays on the design and implementation of readtables (The CL Hyperspec only really describes the API without much reasoning about the design, or how it ought to be implemented). Given this lack, I am left only to look at existing implementations. So, I think the next time I work on this I am going to try porting CMUCL's reader.lisp to RPython as a basis for the Safelisp parser.

Wailin'

A mention of singing in an email conversation got me thinking about my old high school chorus at West Allegheny. Those were some good times. I got to googling and found this post by an alumna: Weekend Assignment #59.

Stewart Morgan. The auditorium was put up several years before I entered high school, and I sang in it every year. Our instructor, Earl Wiechelt, was his student, and Mr. Wiechelt was absolutely fantastic, but Stewart Morgan was a legend. Fortunately, he was a legend that would stop by once every week or two to give us advice and critiques, because he enjoyed it. Through their combined efforts, our chorus won regional competitions and got invited to nationals every year. Chorus was one of the few things I remember fondly of high school.

Gotta figure out an excuse to sing.