X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fcpl.lisp;h=e8c7b58635e44d2805e60a239d1c1cdf6e3aeb4f;hb=683874b497a99cd2c11b6c5d9b47e2785b1ede5f;hp=162ba558bdcfcc6cd373afa0f6bfe781c76e29fa;hpb=cea4896b2482b7b2b429c1631d774b4cfbc0efba;p=sbcl.git diff --git a/src/pcl/cpl.lisp b/src/pcl/cpl.lisp index 162ba55..e8c7b58 100644 --- a/src/pcl/cpl.lisp +++ b/src/pcl/cpl.lisp @@ -23,8 +23,8 @@ (in-package "SB-PCL") -;;; compute-class-precedence-list -;;; +;;;; COMPUTE-CLASS-PRECEDENCE-LIST and friends + ;;; Knuth section 2.2.3 has some interesting notes on this. ;;; ;;; What appears here is basically the algorithm presented there. @@ -78,11 +78,12 @@ (compute-std-cpl root (class-direct-superclasses root))) (defstruct (class-precedence-description - (:conc-name nil) - (:print-object (lambda (obj str) - (print-unreadable-object (obj str :type t) - (format str "~D" (cpd-count obj))))) - (:constructor make-cpd ())) + (:conc-name nil) + (:print-object (lambda (obj str) + (print-unreadable-object (obj str :type t) + (format str "~D" (cpd-count obj))))) + (:constructor make-cpd ()) + (:copier nil)) (cpd-class nil) (cpd-supers ()) (cpd-after ())