Standard Libraries Support


#1

Hi,

I’m trying out the different standard libraries via IronRuby and some
throw errors once I try to require or use them.
The problematic ones are:
RSS
Finalize
Open3
OpenSSL
Shell
WeakRef

Also resolv and resolv-replace do not work but I guess it’s because of
their win32 requests.

Should the above libraries work or is it a bug?

Thanks,
Shay.


#2

OpenSSL is being worked on by Jirapong. The other ones probably need to
be rewritten in C#.

Feel free to file bugs, or claim a library to work on :wink:

JD

…there is no try


#3

So just to make sure - there are no plans of making those work for V1.0,
right?

Thanks Jim!


#4

Here’s a quick rundown (~30mins worth of looking at these libraries)

RSS:
RSS should work, it appears there is a bug in there with Class.inherited
Tracking with CodePlex 1483

Finalize:
We need to figure out what the ObjectSpace finalizers really do, and if
we can implement those methods.
Tracking with CodePlex 1484

Open3:
Uses fork, so it will not work unless we completely re-implement it. The
workaround would be having someone port the win32-open3 gem to C#
Tracking with CodePlex 1485

OpenSSL:
Jirapong is working on this.

Shell:
Uses Thread.exclusive, which is defined in the thread standard library
(as opposed to the Thread builtin class), which needs to be ported.
Tracking with CodePlex 1485

WeakRef:
Uses ObjectSpace#id2ref and it may be reliant on the CRuby GC internals
Tracking with CodePlex 1487

Resolv and resolv-replace should be made to work, but they require us to
figure out what portions of win32 they need.
Tracking with CodePlex 1488

Ideally all of these should work for 1.0, but we may not have resources
to do them. Anyone who wants to is welcome to help bang at them to
narrow down the bugs, and port the needed libraries.
JD

…there is no try


#5

If you know an existing Ruby application which depends on these
libraries, then that’ll make it more worthwile to get them working.

~Jimmy

On May 29, 2009, at 2:13 PM, “Shay F.” removed_email_address@domain.invalid