Thomas Sondergaard wrote:
> I'd like a minute or two of your time as I try to sell you the idea of ruby 
> on/with .net :-)
> 
> == Ruby the language rocks, ruby the platform not as much ==
> I love ruby the _language_, but there are often annoying obstructions when 
> you want to develop an application on ruby the _platform_, like missing or  
> immature class libraries and poor threading support (IMHO). 
> 
> == .net is the future ==
> It is my firm belief that .net as a development platform is very powerful. It 
> has been my main development platform for more than a year and a half and 
> considering how young it is things just work amazingly well and performance 
> doesn't suck, like it at least initially did with Java. Technically the .net 
> framework and runtime are excellent and with Microsoft pushing it as hard as 
> possible it will end up on most Windows computers sooner rather than later. 
> The mono project is doing an excellent job of making sure that the .net 
> platform will also be available on other OSes than Microsofts. I am not a 
> Microsoft fanatic, but after having used .net for a long time I must admit it 
> just works very well. I don't think it is worth sticking our heads in the 
> sand, just because we may not approve of Microsofts business methods, 
> especially as the .net runtime and base framework have been made open 
> standards.
> 
> == Ruby on/with .net ==
> Ruby is not a scripting language front-runner, but as a language, not a 
> development platform, it leaves the front runners in the dust. By relying on 
> a common and very popular platform we can do away with most of the 
> disadvantages of ruby and keep the advantages.
> 
> == Projects to take ruby to .net ==
> After having perused the documentation for the .net CLR runtime and the CLS 
> and read a white paper on the lessons learned trying to make Python run on 
> the .net CLR runtime, it is clear to me that the .net runtime is not well-
> suited for dynamic languages, such as Python, Perl and indeed ruby. However, 
> smallscript inc (http://www.smallscript.org) are working on exactly that, and 
> will soon be releasing a version of smallscript, a smalltalk variant, that is 
> running on the .net CLR. I think it would be worthwhile to pursue two 
> projects, one with the objective to allow .net class libraries to be used 
> from ruby using a dual-runtime approace and another approach that attempts to 
> run ruby on the .net CLR runtime
> 
> === rubydotnet - dual runtime approach ===
> This project will aim to allow any CLS compliant .net assembly to be used 
> from ruby. This would make all .net class libraries including the entire .net 
> framework to be used from ruby, without having to implement ruby wrapper 
> modules.
> 
> === r# - ruby on the .net runtime ===
> r# is to ruby, what S# is to smalltalk (http://www.smallscript.org)
> This much more ambitious project would aim to run ruby on top of the .net 
> CLR. I, personally, would be willing to make some adaptions to the ruby 
> language to facilitate the .net platform integration, and do away with much 
> of the core ruby platform. Making ruby, or rather r#, fully CLS compliant has 
> many advantages in terms of distribution and in terms of using ruby/r# with 
> asp.net and running ruby applets inside browsers etc.
> 
> == Status ==
> I have just today submitted a project registration with sourceforge.net for 
> rubydotnet. rubydotnet has a much smaller scope than r# and will allow the 
> ruby community to see the benefits of ruby/.net interop. Hopefully after that 
> support can be rallied for the much more ambitious r# project.
> 
> Thank you for your time
> 
> - Thomas Sondergaard

You may be better off contributing to the parrot project 
(http://www.parrotcode.org) -- the perl 6 interpreter. It is like, like 
..NET and Java, a virtual machine. However, it is being built for dynamic 
languages. Parrot will eventually run Ruby (along with Python, PHP, 
Scheme, and others) anyway. It appears you already now the troubles with 
..NET and dynamic languages. But if you want to read more (why they're 
developing parrot), you can check out these two blog entries, by Dan 
Sugalski, the lead developer:

http://www.sidhe.org/~dan/blog/archives/000151.html
http://www.sidhe.org/~dan/blog/archives/000152.html

matt