I'm pleased to announce the initial release of r6rs-thrift 0.1, a pure
R6RS Scheme implementation of the Apache Thrift data interchange
framework. (From the Apache Thrift project page : Thrift "combines
a software stack with a code generation engine to build services that
work efficiently and seamlessly between C++, Java, Python, PHP, Ruby,
OCaml and Delphi and other languages.") This implementation provides a
Scheme code generator and parser for the Thrift type definition
language, and maps the Thrift feature set onto R6RS libraries,
records, conditions, and enumeration types.
The API and features provided by this project will be familiar to you
if you've looked at a similar project I announced around this time
last year, r6rs-protobuf , which provides an implementation of
Google Protocol Buffers in R6RS. Protocol Buffers and Thrift are
themselves similar, but Thrift offers an RPC framework in addition to
data structure generation. As such, r6rs-thrift includes support for
RPC over a user-supplied transport using Thrift wire protocols.
This is an initial release: Documentation and unit tests are a bit
spotty, and there are almost certainly bugs. Feedback is welcome!
Here are the SHA1 checksums: