When writing Calx [1], I discovered it was a huge pain to deal with mixed C datatypes in Java. When writing Aleph [2], I discovered the problem increases by a factor of ten when dealing with streams of bytes. In an attempt to alleviate my own pain, and hopefully help a few other people out, I've written Gloss, which can transform a simple byte-format specification into an encoder and streaming decoder.
A full writeup can be found at https://github.com/ztellman/gloss/wiki. A few people have already asked me how this differs from protocol buffers, so I'll preemptively answer that protocol buffers are a fixed format that cannot be used to interface with external systems. Gloss is less performant than protocol buffers, but is also much less picky about formats. If anyone has any questions, I'd be happy to answer them. Zach [1] https://github.com/ztellman/calx [2] https://github.com/ztellman/aleph -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en