All of the software listed on this page is written for the PLT Scheme programming language and distributed via PLaneT.The following packages are available for PLT Scheme 4.0.


A language level for Applicative Common Lisp (the language of the ACL2 theorem prover). See the Dracula web page.


Randomized testing based on the QuickCheck library for Haskell.


Defines utilities for PLT Scheme functions, classes, syntax objects, and so forth.

Legacy Software

Below are legacy packages available for PLT Scheme 372 and before, which have not been updated for 4.0 or which have been incorporated in a package by another name.


Contracts, mixin, and method call utilities for the object system. Subsumed in 4.0 by scheme.plt.


A selection of general-purpose higher-order functions. These are essentially "glue code" useful in many functional programs. Subsumed in 4.0 by scheme.plt.


A framework for defining equivalence relations on new datatypes.


Functional collection data types in the style of Okasaki. I am responsible for many of the changes in version 3 of galore.plt, which is still very much a work in progress.


This tool provides a graphical representation of the execution of object-oriented programs. See the project web page for full documentation.


This package currently defines only param-lambda, a utility for creating functions like PLT Scheme's write and display that have optional arguments which default to the value of a parameter (a lexically scoped container whose runtime values have dynamic, thread-local extent). Subsumed in 4.0 by scheme.plt.


A selection of functions and macros for manipulating PLT syntax objects, useful for writing helper functions to macros. Subsumed in 4.0 by scheme.plt.