Garnet
カーネギーメロン大学がCommon Lispで作ったGUI研究用ツールキット。レイアウトは、物を動かすコードではなく、自動で再計算される数式で組まれていた。
プロジェクトを率いたのはBrad Myersで、開始は1987年、X11と同じ年である。GarnetはCLX経由でXに直接描画し、独自のプロトタイプベースのオブジェクトシステムの上に成り立っていた。どのスロットにも数式を入れられる。「このボタンの左端は、前のボタンの右端+10」といった具合だ。何かを変えれば、それに依存するものすべてが再計算された。その上には、ドラッグ、選択、回転といった振る舞いをまとめたインタラクタがあり、インターフェースを直接描くためのツールも用意されていた。
Garnetは無償で、数百の研究プロジェクトで使われたが、UIライブラリの置き場所としてLispは珍しかった。同グループは1990年代半ばに、C++による後継のAmuletを作った。一方向制約でインターフェースの整合性を保つという発想は、のちにリアクティブなフレームワークとして再登場したが、その祖先を知る者は少ない。