Created Tuesday 18 November 2008
not even started
Lisaac needs a layer of persistence. I believe two means of serialisation are required:
We need to tell which prototype the object being unserialised is. To do so we need a way to differentiate each type, by giving it an unique name. It could be:
This would be a string, either provided by the programmer in the Section Header, either computed automatically by the compiler. If the programmer provides it, the following syntax could be used:
Section Header - name := PROTOTYPE; - id := "UUID:61F9E18A-38B2-B440-A87E-7457DF18863C"
Each time the prototype change, its identification string should change as well. If the string isn't provided, the compiler could calculate it using its internal representation of the prototype, or simply by calculating a checksum of the entire file.
To be able to unserialise the objects, the prototypes must be compiled in and sufficiently enough information must be able to be accessed using the introspection framework.