;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: equal.lisp,v 1.2 2002/11/25 07:45:36 kevin Exp $
+;;;; $Id: equal.lisp,v 1.14 2003/05/07 21:57:10 kevin Exp $
;;;;
;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
(complex
(and (generalized-equal (realpart obj1) (realpart obj2))
(generalized-equal (imagpart obj1) (imagpart obj2))))
- (standard-xstructure
+ (structure-object
(generalized-equal-fielded-object obj1 obj2))
(standard-object
(generalized-equal-fielded-object obj1 obj2))
(defun class-slot-names (c-name)
"Given a CLASS-NAME, returns a list of the slots in the class."
- #+(or allegro lispworks scl)
- (mapcar #'clos:slot-definition-name
- (clos:class-slots (find-class c-name)))
- #+sbcl (mapcar #'sb-pcl::slot-definition-name
- (sb-pcl:class-slots (sb-pcl:find-class c-name)))
- #+cmu (mapcar #'pcl::slot-definition-name
- (pcl:class-slots (pcl:find-class c-name)))
+ #+(or allegro cmu lispworks sbcl scl)
+ (mapcar #'kmr-mop:slot-definition-name
+ (kmr-mop:class-slots (kmr-mop:find-class c-name)))
#+mcl
- (let* ((class (find-class class-name nil)))
+ (let* ((class (find-class c-name nil)))
(when (typep class 'standard-class)
- (map 'list #'car (ccl::%class-instance-slotds class))))
+ (nconc (mapcar #'car (ccl:class-instance-slots class))
+ (mapcar #'car (ccl:class-class-slots class)))))
#-(or allegro lispworks cmu mcl sbcl scl)
(error "class-slot-names is not defined on this platform")
)
#+allegro (class-slot-names s-name)
#+lispworks (structure:structure-class-slot-names
(find-class s-name))
- #+sbcl (mapcar #'sb-pcl::slot-definition-name
- (sb-pcl:class-slots (sb-pcl:find-class s-name)))
- #+cmu (mapcar #'pcl::slot-definition-name
- (pcl:class-slots (pcl:find-class s-name)))
+ #+(or sbcl cmu) (mapcar #'kmr-mop:slot-definition-name
+ (kmr-mop:class-slots (kmr-mop:find-class s-name)))
#+scl (mapcar #'kernel:dsd-name
(kernel:dd-slots
(kernel:layout-info
(error "structure-slot-names is not defined on this platform")
)
-
(defun function-to-string (obj)
"Returns the lambda code for a function. Relies on
Allegro implementation-dependent features."