[Ironruby-core] Native Extensions

Jimmy Schementi Jimmy.Schementi at microsoft.com
Tue Oct 6 20:59:48 EDT 2009

Native extension support is not on the roadmap for 1.0. Win32OLE support is actually in there now, because of the Dynamic Language Runtime's support for dispatching to COM objects. So IronRuby's version of win32ole.rb uses IronRuby's OLE support, rather than depending on native code.

The current work-around for libraries which use native code to communicate with the OS or Ruby is to rewrite those using .NET so IronRuby can use them. Mongrel is actually \mostly Ruby code, as most Ruby libraries which use native code; there is usually a very small part of the library which depends on native code. For Mongrel, the HTTP 1.1 parser is the only native piece; rewriting that in C# would allow you to run Mongrel on .NET.

IMO, after 1.0 would be the time to consider supporting the native Ruby API.

From: ironruby-core-bounces at rubyforge.org [ironruby-core-bounces at rubyforge.org] on behalf of Nathan Stults [lists at ruby-forum.com]
Sent: Tuesday, October 06, 2009 4:18 PM
To: ironruby-core at rubyforge.org
Subject: [Ironruby-core] Native Extensions

I noticed on the road-map this item under .NET Interop:

[P3] COM: for Win32OLE compatibility

Is that the same thing as supporting native extensions? If not, is it on
the roadmap to support such a thing? Also, is there a workaround, like
replacing files in the gem installation with a .NET wrapper? I'd love to
use IronRuby to embed Thin or Mongrel in my .NET services, but from from
my few experiments it looks like most of the networking libraries these
servers use tend to rely on native dll's.
Posted via http://www.ruby-forum.com/.
Ironruby-core mailing list
Ironruby-core at rubyforge.org

More information about the Ironruby-core mailing list