GSoC Idea: Common (De)Serialization Infrastructure edit
Areas | (De)serialization, RPC |
Good if student knows | Tcl, C |
Priority | Medium to Low |
Difficulty | Medium to High |
Benefits to the student | Learning about data serialization, the challenges therein. |
Benefits to Tcl | Enhanced ability to exchange data with other languages |
Mentor | AK, others |
Related Projects & Ideas | GSoC Idea: Tcl Binding to Protocol Buffers GSoC Idea: Tcl Binding to MessagePack GSoC Idea: Updated Tcl bindings for ZeroMQ Tcl YAML STOMP |
Project Description edit
We currently have three possibilities of handling the (de)serialization of Tcl data structures to other formats. The main constraint in the design is that most (all?) (de)serialization formats around are (strongly) typed, whereas Tcl's basic data structures are not.The main ways of dealing with this impedance mismatch are:- Inbound map the serialized data to simple Tcl data structures, and ignore the type information. Outbound then requires constructor commands and/or additional data structures describing the data to generate and providing the necessary type information, implicitly or explicitly.
- Inbound map the serialized data to simple Tcl data structures, but keep the type information somehow, for example as type tags. Outbound a generic converter can then directly serialize such a type-tagged structure without the need for helper structures.
- Fill out: TclOO structures mimicking simple Tcl structures and other types, with accessor methods.
References edit
- to be filled in.