Software
Here is a partial list of software I've hacked on or maintain. Most of it's available on the net. If you're interested in any of the others, let me know.
The Lula system for theater lighting control
This is a sophisticated package for theater lighting design and control.
Scheme 48, a portable implementation of Scheme
I've implemented the prototype for the C FFI.
scsh, the Scheme Shell
This is a variant of Scheme 48 intended for systems programming. I seem to be one of the maintainers, starting with version 0.6.
The SU Net package for scsh
This is a collection of libraries for common internet protocols for the scsh Scheme Shell.
Racket
This is a large implementation of a Scheme-derived language . I've
pestered the maintainers with bug reports and provided a few minor
patches. I also maintain the deinprogramm collection
with teaching-language-related code, in particular the language levels
for Die Macht der Abstraktion.
The Essence parser generator for Scheme
This is a SLR(k) and LR(k) parser generator for Scheme, implemented using advanced partial evaluation technology.
Peter Thiemann's PGG program generator generator
This is a sophisticated offline partial evaluation system. I've implemented some parts of the user environment, and hacked on some others.
Oleg Kiselyov's SSAX/SSXML framework
This is a library for XML programming in Scheme. It includes a validating parser for XML and an S-expression-based representation for XML documents. I've created ports for Scheme 48 and the upcoming 200 version of PLT Scheme. Until the patches for this are integrated in the main distribution, here is a tarball with the current versions of the ports.
XEmacs, the next generation of Emacs
I've written a few thousand lines of code for XEmacs. In particular, I've written the code which determines the various paths at startup.
EFS, an Emacs package for transparent access to ftp sites
I seem to be stuck with maintaining this baby. Since taking over, I've mainly ported the thing to XEmacs 20, and fixed a gazillion bugs.
Dired, an Emacs mode for editing directory trees, both local and remote, similar to traditional file managers.
Just as with EFS, I am the current maintainer. I have written the XEmacs port, the XEmacs user interface for it, added a bunch of features and fixed many bugs
sigplan-proc.cls
This is a LaTeX2e class I wrote for formatting papers in ACM SIGPLAN
proceedings at the request of Simon Peyton Jones for ICFP 2002. Unlike the
terrible-looking styles on the SIGPLAN page,
sigplan-proc.cls conforms to the ACM
Guidelines and is fully LaTeX2e-compliant.
Picture Language for Racket (long since taken over by Jens Axel Søgaard)
This is a straightforward port of the picture language from Structure and Interpretation of Computer Programs to Racket.
Gambit-C, an implementation of Scheme
I've cooperated with Marc Feeley, Gambit-C's author, on the Emacs user interface.
Port of the Gunzets package to FreeBSD
This is an XFree86 module for driving the Gunze touchscreen panels that come with Xybernaut wearables, ported to FreeBSD. It's available here, along with some hints for installing FreeBSD on the Xybernaut MA.
A PowerPC backend for lcc, a retargetable C compiler
This is joint work with Devin Reade of Myrias, building on earlier work by Cliff Click at Motorola.