Garnet
Das Forschungs-Toolkit der Carnegie Mellon University für grafische Oberflächen in Common Lisp, bei dem das Layout aus sich selbst neu berechnenden Formeln bestand statt aus Code, der Dinge herumschiebt.
Brad Myers leitete das Projekt, das 1987 begann, im selben Jahr wie X11. Garnet zeichnete über CLX direkt nach X und beruhte auf einem eigenen prototypenbasierten Objektsystem, in dem jeder Slot eine Formel enthalten konnte: Die linke Kante dieses Buttons ist die rechte Kante des vorigen plus zehn. Änderte sich etwas, wurde alles Abhängige neu berechnet. Darüber lagen Interactors, die Verhalten wie Ziehen, Auswählen oder Drehen bündelten, sowie Werkzeuge, mit denen sich Oberflächen direkt zeichnen ließen.
Garnet war frei verfügbar und kam in Hunderten Forschungsprojekten zum Einsatz, doch Lisp war eine ungewöhnliche Heimat für eine UI-Bibliothek. Mitte der 1990er folgte die Gruppe mit Amulet in C++. Die Idee einseitiger Constraints, die eine Oberfläche konsistent halten, tauchte später in reaktiven Frameworks wieder auf, die von ihrem Vorfahren nie gehört hatten.