Structure vs Class, case in Common Lisp. Metanote. 対象読者。 Common Lisp初心者。 長文ですのでお暇な時に。 Introduction Common Lispにはユーザが定義できる合成型として構造体とクラスの2種がサポートされている。 これはしばしば初心者をして「どちらを使えばいいのか」疑問に思わせることとなる。 もちろん2種サポートされているのは各々に違いがあるからなのだが、初心者には違いが伝わりにくかろう。 ここにまとめておく。 定義フォーム 1スロットしか持たない最小の定義を考える。 ; structure (defstruct struct slot) ; class (defclass my-class()(slot)) フォーム(syntax)は大差無いがセマンティクスは大きくことなる。 構造体はこのフォームだけで、