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.