Hello, 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 [0]: Thrift "combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, 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 [1], 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! The homepage is located at: http://code.google.com/p/r6rs-thrift/ Here are the compressed sources: http://r6rs-thrift.googlecode.com/files/r6rs-thrift-0.1.tar.bz2 http://r6rs-thrift.googlecode.com/files/r6rs-thrift-0.1.tar.gz http://r6rs-thrift.googlecode.com/files/r6rs-thrift-0.1.zip Here are the SHA1 checksums: 0cf6da60909704eea557bc27a02b406f91da2bad r6rs-thrift-0.1.tar.bz2 9f38676cf34246f92fc20943e909ab72f4919376 r6rs-thrift-0.1.tar.gz 19faa2abef986773586e7a2d53bc76741f695fcc r6rs-thrift-0.1.zip Thanks, Julian [0] - http://thrift.apache.org/ [1] - http://code.google.com/p/r6rs-protobuf/
