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.



Aniket Mathur


  • Michael Ferguson
  • Lydia Duncan
  • Audrey Pratt