|Good if student knows||Tcl, C|
|Priority||Medium to Low|
|Difficulty||Medium to Low|
|Benefits to the student||Learning about data serialization, the challenges therein.|
|Benefits to Tcl||Enhanced ability to exchange data with other languages|
|Related Project Ideas|| GSoC Idea: Tcl Binding to Thrift |
GSoC Idea: Tcl Binding to Protocol Buffers
GSoC Idea: Updated Tcl bindings for ZeroMQ
GSoC Idea: Common (De)Serialization Infrastructure
MessagePack is a binary-based efficient object serialization library. It enables the exchange of structured objects between many languages, like JSON. Unlike JSON, it is very fast and small.
Note: To my eyes (as experienced developer) this looks to be very easy, with the main issue the design of a mapping between the typed information of MessagePack and the semi-typed data structures of Tcl. Mainly when it comes to writing MessagePack data, as that requires either infering types, or using an API where the user provides type information. On the other hand, we have packages for json and yaml, whose design could be copied, or used as starting point.
Note: Given Tcl's builtin binary command it should be possible to write the binding purely in Tcl, although a C implementation is likely faster.
Note: At the moment I am not convinced that this project is able to fill the entire 12 weeks (See my note regarding difficulty).
Students doing this project should consider coordinating with any student doing the related projects as there is potential for common infrastructure between these projects.
jdc - 2013-02-13 09:39:40
A pure Tcl implementation: http://github.com/jdc8/msgpack