First presented at CALECO 97
Department of Experimental Psychology, Oxford University
October 1997, revised November 1998
An MM program consists of one or more object specifications. To specify single objects, the user describes their attributes or properties, together with equations stating how these depend on one another. To specify a complete model, the user describes how these objects are to be connected together, by writing extra equations that say how their attributes are interrelated. MM compiles these specifications into cell formulae. The compiler can generate formulae for a number of different spreadsheets. So far, we have code-generators for Lotus 1-2-3 and Excel.
MM provides inheritance, in the object-oriented sense of the word, enabling the user to take a partially-specified object and extend it by adding more attributes or equations. These partial specifications can be stored in library files, making code reuse easy.
MM is based on a new programming paradigm, System Limit Programming, also used in the development of the Web authoring tool Web-O-Matic, and based on Goguen's sheaf semantics of objects.