Plaster
New
List
Login
common-lisp
default
anonymous
2023.08.31 14:12:55
(defclass my-direct-slot-definition (closer-mop:standard-direct-slot-definition) ((extra :initarg :extra :accessor extra :initform nil))) (defmethod initialize-instance :after ((defn my-direct-slot-definition) &key extra) (setf (extra defn) (funcall (compile nil `(lambda () ,extra))))) (defclass my-metaclass (standard-class) ()) (defmethod closer-mop:validate-superclass ((class my-metaclass) (super standard-class)) t) (defmethod c2mop:direct-slot-definition-class ((class my-metaclass) &key) 'my-direct-slot-definition) (defclass test () ((foo :initarg :foo :accessor foo :initform (+ 1 2) :extra (format nil "Hello"))) ; <-- Would like this evaluated. (:metaclass my-metaclass))
Raw
Annotate
Repaste
Edit