Rucksack code

Persistent objects 

Persistent objects API 

Proxy 

Low level persistent data structures 

Persistent array 

Persistent CONS 

Persistent sequence 

Full fledged persistent objects 

Serializing/deserializing cached data 

Loading/updating cached objects 

Updating persistent instances 

When a persistent object must be loaded from disk, Rucksack loads the schema nr and finds the corresponding schema. If the schema is obsolete (i.e. there is a schema for the same class with a higher version number), Rucksack calls the generic function UPDATE-PERSISTENT-INSTANCE-FOR-REDEFINED-CLASS after calling ALLOCATE-INSTANCE for the current class version. The generic function is very similar to UPDATE-INSTANCE-FOR-REDEFINED-CLASS: it takes a list of added slots, a list of deleted slots and a property list containing the slot names and values for slots that were discarded and had values.