RESTful
途中だがRESTFul への道。たぶん、1) Hunchentoot の request-dispatcher を置き換える( 'rest-request-dispatcher を作る), 2) リソースと CLOS の対応付けを行う、といい気がする。
リソースクラスは、URL と関連づけられる機能を持たなくちゃいけない。ShibuyaLisp の「CLOS/MOP入門とOWL Full処理系開発事例紹介」を参考にして、metaclass を定義してみる
(http://tips.lisp-users.org/talk/06/ShibuyaLisp6-2.pdf)。
(defclass instance-booking-class (standard-class) ((direct-instances :initform nil :accessor class-direct-instances)) (:documentation "Metaclass for class that holds direct instance list.")) (defmethod make-instance ((class instance-booking-class) &rest initargs) (let ((instance (call-next-method))) (push instance (class-direct-instances class)) instance)) (defmethod validate-superclass ((class instance-booking-class) (super standard-class)) t)