[Ironruby-core] digest.so implemented

Peter Bacon Darwin bacondarwin at googlemail.com
Fri Feb 29 08:16:15 EST 2008

I thought that the general idea in Ruby circles was that all their libraries
should be written in Ruby unless there was some important reason not to,
such as performance or access to underlying OS or hardware functionality
that was not available to Ruby code?

The Rubinius guys took this one step further and have pretty much
implemented everything in Ruby (including the runtime engine itself) and
where they needed to access the OS directly they have created hooks into the
operating system via "special" Rubinius operations that allow the ruby code
to do the stuff.

Interestingly, they then run into the problem of people monkey patching
their runtime engine by accident, which is what happened when you required
the math library which changed the way division works in integers and this
broke their implementation of indexing arrays.

If the DLR is going to compile up the Ruby code into IL anyway then it
should not be a huge performance problem to write most libraries in Ruby and
then use IR .NET interop to access any underlying functionality that is not
normally available in Ruby.

****  This would also have the benefit of removing the excuse of non-C#
developers from contributing to the IR libraries!!  ****


-----Original Message-----
From: ironruby-core-bounces at rubyforge.org
[mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Sanghyeon Seo

>  P.S. I notice your module is implemented in Python - I hadn't even
contemplated the idea of implementing these libraries in Ruby - I guess
because I'm a C# developer. Do people think we should rewrite these
extension libraries in Ruby?

Writing in Ruby does simplify some boilerplates code, doesn't it?

Seo Sanghyeon

More information about the Ironruby-core mailing list