[Openmcl-devel] How to get names of slots of a structure?
gb at clozure.com
Mon Oct 21 02:32:38 UTC 2002
On Sun, 20 Oct 2002, Kevin Rosenberg wrote:
> Gary Byers wrote:
> > This quietly returns NIL if S-NAME doesn't name a structure class.
> > (defun structure-slot-names (s-name)
> Great -- thanks, Gary!
> That's just what I needed. I was hoping that I would be be able to
> figure out analagous code to handle the function CLASS-SLOT-NAMES
> which takes a symbol for the class-name and returns a list of symbols
> naming the class members.
> May I trouble you for the code for that as well?
;;; I -think- this is right ...
;;; You may or may not be interested in the shared (class) slot names.
;;; This should work the same way in both commercial MCL and OpenMCL.
(defun class-slot-names (class-name)
(let* ((class (find-class class-name nil)))
(when (typep class 'standard-class)
(append (map 'list #'car (ccl::%class-instance-slotds class))
(map 'list #'car (ccl::%class-shared-slotds class))))))
> This is for a lisp package that I wrote on contract and hope to get
> made open-source. I'd like for it to support openmcl.
Great! Good luck.
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
Openmcl-devel mailing list
Openmcl-devel at clozure.com
More information about the Openmcl-devel