At the OReilly Open Source Convention in Portland, Ore., Microsoft on July 23 announced that it will deliver via RubyForge a core set of features of IronRuby, the companys implementation of the Ruby language, to solicit community feedback. RubyForge is a collaborative software development management system dedicated to projects related to the Ruby programming language.
John Lam, creator of RubyCLR and a member of Microsofts DLR (Dynamic Runtime Language) team, said in a blog post July 23 that the team had been working over the past couple of months to get the first source code release of IronRuby ready.
"Im happy to announce today the first drop of the IronRuby source code," Lam said. "IronRuby is licensed under very liberal terms as set out by the Microsoft Permissive License. Were also happy to announce that we will be accepting source code contributions into the IronRuby libraries. Right now we have a lot of logistical work that we still need to do, but we fully intend on getting IronRuby onto RubyForge by the end of August."
IronRuby is implemented on top of the DLR, a set of services that run on top of the CLR (Common Language Runtime) 2.0 and are used to execute dynamic languages on the .Net Framework. IronRuby will be fully integrated with the .Net Framework and will be able to run crossplatform through Silverlight 1.1 as well as run on Windows desktop and server platforms through all versions of the .Net Framework.
Microsoft, based in Redmond, Wash., first introduced IronRuby and the DLR at its MIX conference in Las Vegas in April 2007, when it announced that the DLR and IronPython would be released on the Microsoft CodePlex community development site under the Microsoft Permissive License. Microsoft officials said the IronRuby announcement shows Microsofts ongoing commitment to providing a variety of innovative technologies that meet the needs of customers and the developer community at large.
Meanwhile, Lam said Microsoft is only accepting contributions to the IronRuby libraries and not the entire compiler, "because IronRuby is built on top of the Dynamic Language Runtime, and the public interfaces to the DLR are not complete at this time. Since the DLR will ship as part of the CLR in the future, we cannot accept contributions into the IronRuby compiler, at least initially. However, once the DLR matures and reaches 1.0 status with fully supported public interfaces, we will fully open up all parts of the IronRuby project for external contributions."
Lam said his team has seen "pretty good performance" in the latest release of IronRuby. "We use a DLR feature called Dynamic Sites, which is our implementation of adaptive call-site method caching," he said.