This is a demonstration of the problem with using AMOP for type checking.
Assuming you have ultralisp set up and your equivalent of libgtk-4-dev installed.
In your REPL please execute
(load "~/Programming/Lisp/clops/clops.lisp") (in-package :clops) (main)
Then press F2, F3, F4 and F5. Observe what was drawn try putting mouse over the squares. Then try pressing F7 and F8 to see the rightmost square moving with the internal structure preserved.
I am running latest SBCL compiled from source. I observed strange problems that I will try to demonstrate here.
Commenting out the metaclass in
(defclass/std box-status (box)
((status :std nil))
;; (:metaclass checked-class:checked-class)
)
gives the error that has confused me
The class #<CHECKED-CLASS:CHECKED-CLASS CLOPS::BOX> was specified as a superclass of the class #<STANDARD-CLASS CLOPS::BOX-STATUS {100C733A93}>, but the metaclasses #<STANDARD-CLASS CHECKED-CLASS:CHECKED-CLASS> and #<STANDARD-CLASS COMMON-LISP:STANDARD-CLASS> are incompatible. Define a method for SB-MOP:VALIDATE-SUPERCLASS to avoid this error.
I also observed an error with unbalanced parentheses. I can not replicate it. In Emacs all the parentheses looked OK. Is it possible that I stumbled upon an unrelated SBCL bug?
sbcl --version SBCL 2.4.3.86-fd7b2a2b0