[Ironruby-core] JvYAMLb Port (CsYAML?)

Mike Moore blowmage at gmail.com
Thu Sep 13 14:39:40 EDT 2007

Hey Ola, I'm glad to hear you are supportive of us porting your code.
(Although I honestly expected no less.)  I'll volunteer to work on the port
and I may be asking some questions.  Is it better to ask those questions
directly to you?  Or to the jruby-dev mailing list?

John, Ola's original JvYAML was licensed under MIT.  But the code in JRuby
(JvYAMLb) appears to be tri-licensed under CPL, GPL, and LGPL.  Is this an

On 9/13/07, Ola Bini <ola.bini at gmail.com> wrote:
> John Lam (CLR) wrote:
> >
> > Before we get too far down into the implementation details, perhaps it
> > might be better to just port JvYAML? I'm adding Ola to this mail – Ola
> > do you think it would be a straightforward port to C#?
> >
> > Thanks,
> >
> > -John
> >
> > *From:* Mike Moore [mailto:blowmage at gmail.com]
> > *Sent:* Thursday, September 13, 2007 8:37 AM
> > *To:* John Lam (CLR)
> > *Cc:* Eric Nicholson; ironruby-core at rubyforge.org
> > *Subject:* Re: [Ironruby-core] zlib implementation
> >
> > Syck doesn't have a dependency on the Ruby parser, but it does use
> > lex/yacc style gram.y file. I know that the Ruby.NET guys cracked that
> > nut and reused Ruby's parser.y file, and it looks like IronRuby has a
> > Parser.y file as well. I honestly haven't looked at this very closely
> > since I first saw it in Ruby.NET, so I'm just assuming that a .NET
> > version of Syck could also use Syck's gram.y file as a starting place.
> >
> Hi,
> I would personally stay as far away as possible from Syck - the grammer
> is quite straight forward but the rest of the implementation uses a
> whole slew of pointer tricks to work. Of course, you _could_ do the same
> thing in C# by using unmanaged code, but I don't think it would be worth
> it. It also seems Syck have some reliability problems. (I have recently
> created a few roundtrip test cases that fail with MRI - I shall submit
> them as bugs too, of course...)
> JvYAML would be much simpler to port (and make sure to use the JvYAMLb
> version that exists in the JRuby source repository). There are two main
> problems with that approach: it isn't well documented, so in many cases
> it may not be obvious exactly why I do something the way I do it in the
> code. Secondly, JvYAML started out as a 1.1-compliant YAML system, but
> have grown into being more 1.0-compliant since Syck is (so I need to be
> compatible). That means that sometimes the code is going through some
> interesting hoops.
> None of this makes it a hard thing to port JvYAML though. It would
> probably not take many days.
> Feel free to ask me if you have any questions.
> Cheers
> --
> Ola Bini (http://ola-bini.blogspot.com)
> JRuby Core Developer
> Developer, ThoughtWorks Studios (http://studios.thoughtworks.com)
> "Yields falsehood when quined" yields falsehood when quined.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20070913/a4fa4401/attachment.html 

More information about the Ironruby-core mailing list