Richard Cobbe: Software

All software packages are available as PLaneT packages. They are licensed under the LGPL, which I have clarified to state that linking against one of these libraries (by putting the appropriate PLaneT require clause in your program) is mere aggregation. Therefore, a program that uses these libraries may be released under any license.

  • ClassicJava: an implementation of (most of) the model of Java by Flatt, Krishnamurthi, and Felleisen in POPL 1998.
  • environment.plt: a PLT Scheme implementation of a rib-cage environment data structure that supports any kind of data as keys and several advanced operations on environments.
  • contract-utils.plt: a library of contract definitions and contract utilities, for use with PLT Scheme's contract system.
  • views.plt: a mechanism for defining pattern-matching views on abstract data types. This is based on Phil Wadler's paper on views in POPL 1987, although it is not as complete. This library does not (intend to) define additional constructors for abstract data types.
  • check-values.plt: macros for writing SchemeUnit tests for expressions that produce multiple values.

Last modified: 30 Aug 2007