Serialization

The object serialization system is responsible for converting a graph of objects into a portable form which can be reconstructed at another place or time. Objects are either primitive or compound. Each object has a type associated with it. A compound object has, in addition to its type, a count of the number of objects which it references, and a list of those object references. A primitive object does not reference any other objects, but contains instead its own type dependant representation of its value. All primitive objects are immutable.