Google Protocol Buffers is a language-neutral serialization library. However Chapel support for Protocol Buffers has not been investigated. Nonetheless, there are a number of interoperability scenarios that would benefit from having such a feature. This feature is something that many other projects can build on - including calling Python from Chapel or creating a Chapel distributed in-memory key-value storage service.The protocol buffers compiler supports a few languages directly but also includes a plugin mechanism to generate code for other languages. These plugins can be written in the target language.
The project involves the following:
- Create a Chapel library that works with basic Protocol Buffers functions.
- Implement a Chapel plugin for the protocol buffers compiler.
- Demonstrate this tool in an example integration using protocol buffers.