Hyperobject Documentation

Overview

Hyperobject is an Common Lisp object representation library based on the Metaobject Protocol.

Reference

Class options

sql-nameOverrides default name of SQL table.
versionSets the version number of the class. Can be used to convert previous version of the class.
instanciableIf NIL, the class can not be instanciated by the user.
descriptionThe class description.

Slot options

sql-nameOverride name of the SQL column
uniqueThe values in the slot must be unique
storedThe values in the slot are stored in the database.
indexedThe values of the slot are indexed in the database.
nil-textThe text to print if the slot is NIL
value-typeSets the data type for the field. See the next section for complete details
inverseSets the name of an automatically generated lookup function based on a key value for this slot

Type field

Valid types for a hyperobjectslot along with their coresponding SQL types are listed in the below table.

stringTEXT
(string n)
(varchar n)
VARCHAR(n)
(char n)CHAR(n)
characterCHAR(1)
float
single-float
float
double-floatdouble
blobBLOB

Subobject field

This field sets up the storage of a slot of hold a cached object or list of objects. A lookup function and the keys to the function are also specified.

The format for the subobject field is:

( keys*)