Go to the first, previous, next, last section, table of contents.

Property Lists

Every object in the system can have a property list that may be used for information about that object. For example, a function may have a property list that includes information about the source file in which it is defined.

Property lists are implemented as assq lists (see section Association Lists).

Currently, property lists are implemented differently for procedures and closures than for other kinds of objects. Therefore, when manipulating a property list associated with a procedure object, use the procedure functions; otherwise, use the object functions.

primitive: object-properties obj
primitive: procedure-properties obj
Return obj's property list.

primitive: set-object-properties! obj alist
primitive: set-procedure-properties! obj alist
Set obj's property list to alist.

primitive: object-property obj key
primitive: procedure-property obj key
Return the property of obj with name key.

primitive: set-object-property! obj key value
primitive: set-procedure-property! obj key value
In obj's property list, set the property named key to value.

[Interface bug: there should be a second level of interface in which the user provides a "property table" that is possibly private.]

Go to the first, previous, next, last section, table of contents.