Language Hopping with YAML #
So far, 2006 is shaping up to be a great year for YAML, due to recent work at a Chupei hackathon to get Perl’s YAML::Syck module on its legs and with a tremendous patch from Hirokazu Yamamoto (ocean) to fix memory leaks and segfaults in Syck just previous to the release of Ruby 1.8.4.
At present, Syck is the most comprehensive toolkit around for handling YAML. Here is how it stands with language support:
- As mentioned: YAML::Syck for Perl, which now supports dumping and loading type tags.
- Pugs (Perl6) has had basic YAML support for awhile.
- PySyck is not the binding packaged with Syck. This binding is much better and supports type tagging, follows much of the same conventions as Ruby’s YAML support.
- And, of course, Syck includes Ruby, Lua and Cocoa bindings.
My next project is to write a test harness that will siphon the testing suite through this grand circulatory system and make sure it all comes out okay in the end. If you’d like to pitch in, the Syck repository is open to all interested contributors.
aslak
What would be the best way to hook Java into Syck? SWIG ? JNI? Other?
why
Well, not sure. I’ve slipped some notes around with the JRuby guys and they’re all into redoing Syck in Java. I really haven’t the foggiest how Java and C hold hands. I’m sure it can be done in Swig, but I don’t know if it’s the best way.
decklin
I think this should help with that round-tripping thing. Let me know if I’m missing anything important!
Daniel Berger
After installing the 30 (!) or so dependencies for the Perl module (mostly for Module::Install), I still can’t get it to build on Solaris, even after working around the bug where Module::Install insists on looking for cc instead of gcc.
Ah, well. She’s putting out one or two releases a day. One of them is bound to work sooner or later
Audrey
Daniel: YAML ::Syck does not depend on Module::Install, but you might have checked out from the svn repos before 0.18 when I didn’t checked in inc/ in the repos.
Please use the release tarballs from http://search.cpan.org/dist/YAML-Syck/ and it should Just Work.
Comments are closed for this entry.