The Prototype-Instance Object Systems in Amulet and Garnet
Over the last 10 years, the CMU User Interface Software Project has been investigating prototype-based programming in two large-scale systems: Garnet in Lisp and Amulet in C++. The goal of these systems is to provide an effective way to prototype and implement user interface software. In addition to using a prototype-instance object model, these systems also use constraints to tie objects’ values together, and new models for input and output. The result is a significantly different style of programming than conventional class-based object systems, and even than other prototype-based systems.