Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ANN: RubyCLR first drop

2 views
Skip to first unread message

John Lam

unread,
Jan 13, 2006, 4:56:27 PM1/13/06
to
I posted the first drop of my RubyCLR bridge here:
http://www.iunknown.com/articles/2006/01/12/first-drop-of-rubyclr

There's more information about it on the blog entry. This is a very early
build, but the unit tests that I have all pass. If you have the .NET
Frameworks 2.0 installed on your computer you could give it a test drive.

If folks could provide any feedback at this point it would be greatly
appreciated. If someone wants a simple challenge extending the bits, you
could add static field support which is currently missing from this drop,
unlike what I claimed on my blog entry :)

Thanks
-John
http://www.iunknown.com

Jeff Cohen

unread,
Jan 13, 2006, 6:05:46 PM1/13/06
to
John Lam wrote:
> I posted the first drop of my RubyCLR bridge here:
> http://www.iunknown.com/articles/2006/01/12/first-drop-of-rubyclr

What's the overall idea of the bridge: to allow Ruby to be called from,
say, C# code, or to write Ruby code and compile it into a .net assembly?

I thought it would be the latter, but when you mention it does not yet
support generics, etc. I got confused (I wouldn't use generics if I'm
writing Ruby code).

Jeff

--
Posted via http://www.ruby-forum.com/.


John Lam

unread,
Jan 13, 2006, 6:34:26 PM1/13/06
to
>
> What's the overall idea of the bridge: to allow Ruby to be called from,
> say, C# code, or to write Ruby code and compile it into a .net assembly?


The bridge allows you to manipulate C# objects from Ruby, which is different
form the scenarios that you present. It also supports callbacks - that is
you can write event handlers for CLR events in Ruby. So it is a two-way
bridge in this sense. It's currently a non-goal for the bridge to support
creating CLR objects using Ruby, although I can imagine how that could be
done.

I thought it would be the latter, but when you mention it does not yet
> support generics, etc. I got confused (I wouldn't use generics if I'm
> writing Ruby code).
>
>

If you want to consume CLR objects, you need to support generics. The WinFX
libraries use generics heavily.

-John
http://www.iunknown.com

m4dc4p

unread,
Jan 13, 2006, 6:54:52 PM1/13/06
to
John,

I downloaded your bits, installed .NET 2.0, rebooted and ran 'ruby
tests2.rb'. I got this error:

./RbDynamicMethod.dll: 14001: This application has failed to start
because the application configuration is incorrect. Reinstalling the
application may fix this problem. - ./RbDynamicMethod.dll (LoadError)
from ./rubyclr.rb:1
from tests2.rb:1:in `require'
from tests2.rb:1

I also have .NET 1.0 and 1.1 installed. 1.1 and 1.0 have been
coexisting for awhile now with no problems. I suspect I need an
RbDynamicMethod.dll.config file to point it at the right location. What
do you think may be going on?

p.s. I'm real excited about this code - it looks sweet!

Justin

Jeff Cohen

unread,
Jan 14, 2006, 12:58:52 AM1/14/06
to
John Lam wrote:
> The bridge allows you to manipulate C# objects from Ruby, which is

Ah! Makes sense now. Kind of like how the COM Callable Wrappers let
COM objects talk to .Net components, one could consider the bridge to be
a kind of "Ruby Callable Wrapper", I guess?

Sounds exciting. I will definitely take a look at it when I get the
chance.

Jeff
www.softiesonrails.com

Wilson Bilkovich

unread,
Jan 15, 2006, 6:42:11 PM1/15/06
to

How crazy would I have to be to try making a Windows Forms GUI app using this?

Looks like fun, either way.


David Vallner

unread,
Jan 15, 2006, 7:01:03 PM1/15/06
to
On Mon, 16 Jan 2006 00:42:11 +0100, Wilson Bilkovich <wil...@gmail.com>
wrote:


Actually, I already managed to call .NET ArrayLists via Win32OLE. It
doesn't get (much) crazier.

Why would you want to use WinForms anyway? It's such a horrible terrible
clumsy GUI toolkit anyway.

David Vallner


Wilson Bilkovich

unread,
Jan 15, 2006, 7:06:43 PM1/15/06
to
I'm looking for the ability to write GUI apps in Ruby, without any of
the deployment difficulties associated with 'non-standard' toolkits.
I probably just need to get better at packaging working subsets of the
full Ruby install on Windows, though. I was starting to think that
NET was an easier prerequisite than "Ruby, GTK+, and these particular
environment variables."
Your post reminded me how bad parts of WinForms are, though. Heh.


David Vallner

unread,
Jan 15, 2006, 7:18:30 PM1/15/06
to
On Mon, 16 Jan 2006 01:06:43 +0100, Wilson Bilkovich <wil...@gmail.com>
wrote:

> On 1/15/06, David Vallner <da...@vallner.net> wrote:
>> On Mon, 16 Jan 2006 00:42:11 +0100, Wilson Bilkovich <wil...@gmail.com>
>> wrote:
>>
>> > On 1/13/06, John Lam <drj...@gmail.com> wrote:
>> >
>> > How crazy would I have to be to try making a Windows Forms GUI app
>> using
>> > this?
>> >
>> > Looks like fun, either way.
>> >
>>
>>
>> Actually, I already managed to call .NET ArrayLists via Win32OLE. It
>> doesn't get (much) crazier.
>>
>> Why would you want to use WinForms anyway? It's such a horrible terrible
>> clumsy GUI toolkit anyway.
>>
> I'm looking for the ability to write GUI apps in Ruby, without any of
> the deployment difficulties associated with 'non-standard' toolkits.
> I probably just need to get better at packaging working subsets of the
> full Ruby install on Windows, though. I was starting to think that

> .NET was an easier prerequisite than "Ruby, GTK+, and these particular


> environment variables."
> Your post reminded me how bad parts of WinForms are, though. Heh.
>


Well, someone did point my attention at a binary ruby-gtk, so if that has
GTK bundled along, things might get less insane in first-time deployment.

David Vallner


John Lam

unread,
Jan 15, 2006, 9:58:38 PM1/15/06
to
> How crazy would I have to be to try making a Windows Forms GUI app using
> this?
>
> Looks like fun, either way.
>
>

Using the earlier non-released build of my bridge, I created a lap around
WinFX app:
http://www.iunknown.com/articles/2005/11/29/matthews-birthday-present. There
was Avalon and Indigo stuff there (it was a flash card app that used Indigo
to pull images out of flickr and used Avalon to render a 3D flash card that
would rotate about its z-axis).

The Indigo stuff wasn't all that well baked as Ruby since I didn't support
generics in that version of my bridge. I still don't in this version, but
it's a super high priority item to get working.

I think the real fun will be to use Ruby to gen Avalon UI's on the fly.

-John
http://www.iunknown.com

0 new messages