See my biography for descriptions of other
software I've written that isn't publicly available.
- JavaScript Lisp Interpreter.
I wanted to get a feel for just how powerful JavaScript is as a programming
language (as opposed to just a scripting language), so I spent an evening
writing this: a simple but fairly complete Lisp interpreter in about 450
lines of JavaScript.
- TRS-80 BASIC interpreter applet.
I don't recall what might have motivated me to pick this particular
application, but the intent was to teach myself Java.
By the time it got to the point it is now, I knew Java well enough that
I wasn't going to learn anything further by finishing it, and also well
enough to hate the way it was written so far, so I stopped working on it.
But it's sort of fun; I've gotten a lot of "thanks for the memories" mail from people in response to this applet.
- There's also a
minimum spanning tree applet and a
pi calculator applet
that were my "hello world" programs when I first discovered Java in early 1996.
- Back in graduate compilers class, I wrote a compiler for most of Pascal
in T (Yale's dialect of Scheme/Lisp).
The Pascal subset included all of the language except for user-defined
types (i.e. records), including file I/O and arrays.
It produced code for a hypothetical zero-register stack based machine
(rather like the Java Virtual Machine, actually),
for which we were given an emulator.
If you have the T
interpreter, you can download the
compiler as pj.tar.gz.