Selected Papers

All papers are available as Adobe Portable Document Format (PDF) by default, or optionally in Adobe PostScript format.

Published Papers


Old Papers (Not Published)

These papers are out-of-date, but I occasionally get requests for them. I have plans for updated papers (when/if I find the time).
Using Polymorphic Types to Structure Flexible Protocol Stacks.
This paper describes an object-oriented approach to building an upper layer protocol stack. An actual implementation based on improvements to the ideas here was done in 1992-93, and contributed to the ISODE Consortium.

A Polymorphic Future and First-class Function Type for Concurrent Object-Oriented Programming. (PostScript)
This paper is out-of-date, incomplete, and full of errors. It was hastily written in 1992 to put ideas down on paper so other people could get the basic idea behind Futures in C++. Futures were first implemented in C++ at MCC, as part of the Experimental Systems Kit (a distributed C++ run-time). Futures have since been implemented by many people in C++, including Doug Schmidt's ACE framework, and RogueWave's Threads.h++ (Futures are called IOUs), based on the ideas in this paper. I am currently working on a Future implementation for the Java virtual machine.

Technical Reports

These technical reports from when I was at MCC might be of some historical interest as the source of some of ideas.