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.
In general, you can find many open-source projects I work on on GitHub page, my Bitbucket page, or the Active Group GitHub page.
Scheme 48, a portable implementation of Scheme
I'm the current maintainer of the system.
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, a set of language levels
for our book.
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.
XEmacs, the next generation of Emacs
I've written a few thousand lines of code for XEmacs.
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
Method Splitter for ASM
This is a modified version of the ASM Java bytecode manipulation framework that can automatically and transparently split methods that are too large for the JVM (>64k). It was developed for the implementation of the Star programming language.
Star Programming Language
Frank McCabe's multi-paradigm language runs on the JVM and combines many great concepts such as functional programming languages, speech acts, Concurrent ML, and more. I contributed to its design and implementation.
The Reacl ClojureScript library for building user interfaces
This is a ClojureScript wrapper around Facebook's React framework, with an emphasis on immutable data.
The Lula system for theater lighting control
This is a sophisticated package for theater lighting design and control.
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.
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.