8.2. The structure Meta-Object Protocol
Prev | Chapter 8. Structures | Next

## 8.2. The structure Meta-Object Protocol

The following functions accept a structure `name` as the only argument. If `DEFSTRUCT` was given the `:TYPE` option (i.e., `DEFSTRUCT` did not define a new type), then `(`FIND-CLASS` `name`)` fails (and the regular CLOS Meta-Object Protocol is not applicable), but these functions still work.

`EXT:STRUCTURE-SLOTS`
  Return the `LIST` of effective slot definition metaobjects.
`EXT:STRUCTURE-DIRECT-SLOTS`
  Return the `LIST` of direct slot definition metaobjects.
`EXT:STRUCTURE-KEYWORD-CONSTRUCTOR`
  Return the name (a `SYMBOL`) of the keyword constructor function for the structure, or `NIL` if the structure has no keyword constructor.
`EXT:STRUCTURE-BOA-CONSTRUCTORS`
  Return the `LIST` of names (`SYMBOL`s) of BOA constructors for the structure.
`EXT:STRUCTURE-COPIER`
  Return the name (a `SYMBOL`) of the copier for the structure.
`EXT:STRUCTURE-PREDICATE`
  Return the name (a `SYMBOL`) of the predicate for the structure.

| These notes document CLISP version 2.45 | Last modified: 2008-05-14

Enter your search termsSubmit search form
Webclisp.cons.orgclisp.podval.orgwww.lisp.org

Prev | Up | Next
8.1. The options for `DEFSTRUCT` | Home | Chapter 9. Conditions