posted on 1998-01-01, 00:00authored byBrad Myers, Richard G. McDaniel, Robert C. Miller
<p>Amulet is a new kind of object-oriented framework for user interface development that is based on a <em>prototype-instance</em><strong> </strong>object system instead of the conventional class-instance object system. In a prototype-instance object system, there is no concept of a “class” since every object can serve as a prototype for other objects, and any instance can override any methods or data values. Amulet is also differentiated by high-level encapsulations of interactive behaviors, and by the ubiquitous use of <em>constraints</em>, which are relationships that the programmer declares once and then are enforced by the system. The result is that programs written using the Amulet framework have a different style than those written with conventional frameworks. For instance, Amulet applications are typically constructed by combining instances of the built-in objects, rather than by subclassing the built-in classes or writing methods. Amulet is written in C++ and is portable across Windows NT and 95, Unix X/11, and the Macintosh.</p>