The Miser Project is a practical exploration of key concepts at the foundation of computer science.
Project elements demonstrate the fundamental nature and simplicity of computation. From that simple foundation, operational implementations of computer programs are created, at first using a simple processing language (Frugal), that demonstrate the clear possibility of elegant, consistent computational systems of great power based on elementary but rigorous foundations.
The project begins by formulating and then constructing a simple, well-defined and easily-analyzed family of computational mechanisms, the Miser Engines. The progression of Miser engines makes clear where gains in power are available and where the limitations of computation are inescapable. A key objective is investigation of computational regimes that interact in/with worlds “outside/beyond” themselves.
The basic data elements of Miser are different from the structures used in conventional programming systems. These elements, the Miser Obs, are similar to those of Lisp and other list-processing languages, although Miser is not Lisp.
This choice of initial elements supports seven project themes:
The Miser Project is an activity of independent scholarship, using the Web as a vehicle for communication and collegial discussion. Many of the topics are unfolded as individual web pages and in diaries and notes that become the annotations and history of the latest thinking reflected in the web pages. All of the work is available for use and redistribution/publication under a simple open-source license.
Work on Miser was begun around 1978, but not taken beyond a clumsy prototype implementation on a Heathkit H8 computer system. Lately, I began to see how my perspective has progressed even while I was not thinking about it very much. Miser provided me with useful insights into much of what lies mostly unrecognized and untapped beneath the significant computational power that we have available today. This leads me to once again take up Miser and use it as a vehicle for exploring the heart of computation, computer science, and computers as linguistic devices.
This work was inspired by what I learned in the company of computer scientists Bill Burge and Peter Landin. It was the unswerving commitment of Bob Bemer to a vision of software piece parts and re-usability that brought this particular combination together. It opened a new world for me. Christopher Strachey, who I had met only briefly, provided a major inspiration. I am particularly thankful to having been around for the initial blossoming and flourishing of ALGOL 60 and the continuing inquiry into computer science that emerged with that magnificent instrument.
I am indebted to conversations with Alan Camhi for my return to this work. Alan, this is the beginning that I promised to make.
-- Dennis E. Hamilton
2000 May 7