Current projects

My current research is largely focused on the Diderot and Manticore projects.


Diderot is a domain-specific language for image analysis and visualization.


Manticore is a heterogeneous parallel programming language. This project is basis of most of my current research.

Concurrent ML

CML is a concurrent programming language implemented as a library on top of SML/NJ. We have also implemented the CML primitives as part of the Manticore project.

Standard ML of New Jersey

I have been involved in the implementation of the SML/NJ system for the past 12 years. I currently work on the garbage collector and run-time system, and on the SML/NJ implementation of the SML'97 Basis Library.

The SML/NJ Library Suite

The SML/NJ Library Suite is a collection of useful utility and application libraries, which is included in the SML/NJ distribution.


The SML3d project is a collection of libraries for writing real-time 3D graphics applications in Standard ML.

Older projects


Moby is an experimental language design and implementation that combines ideas from the ML-family of languages with support for class-based object-oriented programming and higher-order concurrent programming (a la Concurrent ML). Moby is joint project with Kathleen Fisher of AT&T Labs --- Research.

Standard ML Basis Library

I am a contributor and coeditor (along with Emden Gansner of AT&T Research) of the SML Basis Library definition.


EXene is a multi-threaded X Window System toolkit implemented on top of CML by Emden Gansner and myself. Support and further development of eXene has been taken over by Alley Stoughtoon and his students at the Kansas State University.

Last updated on January 28, 2011
Comments to John Reppy.