From: John Lam Date: 2006-03-17T11:17:42+09:00 Subject: ANN: Third Drop of RubyCLR ------=_Part_5232_29039392.1142561846035 Content-Type: text/plain; charset=WINDOWS-1252 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline This is the biggest release so far of the RubyCLR bridge: http://www.iunknown.com/articles/2006/03/16/third-drop-of-rubyclr Here's a brief summary of the current feature set of the bridge: - Reference .NET assemblies by assembly name or by filename - Create and manipulate .NET reference and value types - Automatically marshal .NET reference and value types to / from Ruby - Dynamic generation of interop code using CIL instructions - Create and manipulate generic .NET reference types - Discover and consume .NET interfaces on a .NET object - Implement .NET event handlers using Ruby blocks - Map .NET member names to Ruby names (e.g. WordCount becomes word_count) - Mix in Ruby Enumerable support for .NET IEnumerable types - Dynamically access .NET XML documentation from irb (requires text/format =96 to make it work uncomment require in rubyclr.rb) There is now a pretty cool Avalon (Windows Presentation Foundation) sample in this release. It renders math equations from a quick and dirty Ruby DSL that I hacked up yesterday. I think it really shows off some of the cool things you can do when you have a powerful client-side rendering engine. Yo= u can see a screenshot here: http://www.iunknown.com/articles/2006/03/15/rubyclr-and-avalon I did a lot of perf tuning in this release, so dynamic compilation time of the interop shims should be much faster. Runtime performance is pretty good - I can parse a 7.5MB XML doc using XmlTextReader (a pull-mode XML parser) which results in over a million calls across the interop boundary in about 2s. Comments / flames / suggestions / contributions are always welcome. Cheers, -John http://www.iunknown.com ------=_Part_5232_29039392.1142561846035--