Last updated 3 May 1998
Jonathan Rees's projects list
Degrees: PhD EECS MIT 1995, SM EECS MIT 1989, BS Computer Science Yale
1981 (transferred from University of Michigan).
Postdocs: Cornell Computer Science 1991-92, University of Sussex
Following is my projects list. I look here if I forget what I
have been doing.
- Current hobby: a simplified formal model of cell biology.
For investigating the logical origins of reproduction,
regulation of gene expression, etc. Also possibly for use as a
A follow-on of sorts to Scheme 48 (see below), which is also
a study of the fundamental
structure of self-hosted systems and their drive towards complexity.
Related to Fontana and Buss's
- Landmark guidance in social wasps; postdoc with Tom Collett at
University of Sussex
Centre for Neuroscience.
of report (Journal of Comparative Physiology A
Programming language projects
- Scheme + ADT's = secure OS. Idea described in "A security
kernel based on the lambda-calculus,"
MIT AI memo 1564. Part of my PhD thesis.
- Mobot Scheme (at
Bruce Donald). This is Scheme 48 running on a 4" by 6"
embedded controller card (MC68000 with 1M RAM, .5M ROM). Byte
code interpreter is in ROM. The board supervises a mobot
with several other computers and a RWI B12 wheel base.
Program mobile robots in Scheme" was in ICRA 92.
Monad-parameterized Lisp interpreter. Monads (an
invention of category theorists) give a good
way of factoring the semantics of a language into essence and
Scheme 48, at MIT and Xerox PARC, with
Richard Kelsey. See Lisp and Symbolic
Computation 7(4):315--335, 1994.
- A reliable macro system for Scheme (at MIT; with Will Clinger;
published in POPL 91)
- Teaching assistant for 6.821, MIT's graduate programming
language core course; I wrote software and course notes, and
generally helped develop the course (with Dave Gifford)
- Editing the
thrice-revised Scheme Report
(MIT; with Will Clinger)
Pseudoscheme (at MIT) -- Scheme embedded in Common Lisp
- T3 project (at DEC WRL, with a cast of thousands) -- hairy native
code Scheme compiler.
Paper in SIGPLAN Compiler Construction 1986.
- T project (at Yale, with Norman Adams, Kent Pitman, and Jim
Philbin) -- used Steele's S-1 Lisp compiler and ideas from
NIL to build the first compiler-based Scheme implementation.
Paper in 1982 ACM Lisp Conference (which wasn't called that).
- NIL (New Implementation of Lisp) (at
MIT), where JonL White taught me all I know about
repulsively clever Lisp implementation techniques.
- PDP-11 Schemes (at Yale) (very slow).
- Snostorm (SNOBOL4 preprocessor, at Yale). SNOBOL, with a
modest set of improvements, was my favorite language before
Drew McDermott showed me its similar but cleaner cousins Lisp
- SNOBOL4 port to Sigma-7 (at
Grand Valley State Colleges, Michigan)
- Handy utilities for generating plots and figures (in
Scheme, generating postscript output). I dislike most
illustration/drawing programs (in fact, most programs,
period) because they're not programmable.
- A4: Change, configuration, and inconsistency management for
globally distributed, mobile, potentially replicated objects.
(At Crystaliz, Inc.
A4 is also known as "MAW" or "Concorde-98.")
I am currently employed at
Crystaliz, Inc., West Concord, MA, where I have been working on various
projects having to do with software intended to support collaboration.
I'm now starting a project on data
warehousing and query over XML documents.
(My take on XML: If Java is a weak reinvention
of Lisp's semantics, then XML is a weak reinvention of Lisp's
- Postdoc year in Sussex, England, with excursions to France, Holland,
Spain, Wales, and Scotland
Archbold Biological Station, Florida, with Cornell's
Field Ecology class
- Iquitos, Peru
in search of katydids, with David Nickle and Earthwatch
However, I would prefer to spend my time doing something that relates
to biology, chemistry, mathematics, computer science, or pretty much
anything that's more durable than software infrastucture. Software
applications that help people who are doing these things count, but
infrastructure in itself generally teaches us nothing and is obsolete
and forgotten in a few years. I am not prejudiced against
exceptional pure-software projects, but am not aware of any at
contact me if you know of a situation in which I might do
Back to JAR's home page