[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Defstruct doldrums

Some of these functions will help, I believe:


The following functions are defined to operate on structures.  They
are not part of Common Lisp and are all in the "debugger" package
(nickname "db"):

db:struct-number-slots struct					[function]

  returns the number of slots in the structure.

db:struct-slot-name struct index				[function]

  returns the INDEX'th slot name of STRUCT, zero based.

db:struct-includes struct					[function]

  returns the name of any structures STRUCT includes.

db:struct-slot-settable struct index				[function]

  return t or nil, depending on whether or not the slot given by INDEX
  (zero based) in STRUCT is read-only.

db:inst-slot-value struct index					[function]

  access the slot of STRUCT given by INDEX (zero based).  SETF can be
  used to store a new value in the slot.

db:struct-boa-constructors struct				[function]

  return a list of the name of by-position constructors for STRUCT.

db:struct-conc-name struct					[function]

  return the prefix for slot names for STRUCT.

db:struct-constructor struct					[function]

  return the name of the constructor for STRUCT.

db:struct-copier struct						[function]

  return the nameof the copier for STRUCT.

db:struct-included-by struct					[function]

  return a list of the names of structs including STRUCT.