任意のオブジェクトを頂点として格納するグラフデータ構造を実装しています。すべての頂点がキーを持つようにオブジェクトのキーを取得するようなインターフェースを定義したいと思います。私の考えでは、これはjavaのような言語でインターフェースを使う場所のように聞こえます。共通のlispで記述し実装する方法
interface Vertex {
String key (Vertex v);
// etc...
}
共通のlispでインターフェイスの動作をエミュレートするにはどうすればよいですか?
ミックスインのようなクラスを実装して、汎用関数を継承したり定義したりするだけです。 CLOSには複数の継承があります。 –