Skip to content

bigos/clops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

README

This is a demonstration of the problem with using AMOP for type checking.

Running it

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.

Problem

I am running latest SBCL compiled from source. I observed strange problems that I will try to demonstrate here.

metaclass

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.

brackets

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages