Lispで抽象クラス、シングルトンクラス、ファイナルクラスを実現するメタクラスのライブラリです。:singleton-classes)でsingleton-classが使えます。試してみるどんな関数があるかは、Quickdocsで確認できます。classこんな感じで使えます。:metaclassを毎度書くのが面倒なので専用の構文も提供されています。実装は、make-instanceで直接abstract-classを生成しようとしたらエラーにするというシンプルなもの。classこの実行例で分かるように継承して使うことができません。実装は、validate-superclassのチェック時でサブクラスの生成を弾くというもの。Tこんな感じに使えて、実装は、make-instanceがキャッシュしたものを返すことで唯一性を保証するというものです。(call-next-method)))))まとめ今回は、cl-abstract-classesを紹介してみました。昔からウェブサイトで公開されていましたが、いつの間にかQuicklispに含まれるようになっていたんですね。このパッケージ名では、final-classとsingleton-classが含まれていることが分からないかも。