This is the MIX ‘09 release for Silverlight 2 and Silverlight 3 Beta. It updates the languages to IronRuby 0.3 and IronPython 2.6 pre-alpha, and adds a bunch of new features to Microsoft.Scripting.Silverlight and Chiron. Please read the release notes for details, but I’ll highlight the awesomeness below.
Silverlight 3 Beta
There is a separate package (agdlr-0.5.0-sl3b.zip) which contains binaries specifically for Silverlight 3 Beta. Though the Silverlight 2 binaries will work just fine in SL3, they are slightly different. The Silverlight 3 binaries use the Silverlight Transparent Platform Extension feature to download the DLR assemblies on demand, significantly reducing the size of a IronRuby or IronPython Silverlight application. This feature warrants a post just for itself, so that’ll be coming shortly.
Adding “console=true” to the initParams value of a Silverlight control will add a dynamic language REPL to any Silverlight app for a explorative developer experience. See samples/python/repl and samples/ruby/repl as well for how to use REPL programmatically ... in three lines of code.
Having a REPL in the browser is extremely liberating, because all your console applications can run as well. A killer application of this in the browser is testing, so this release has made it really easy to write tests for your Silverlight application, be it written in Ruby, Python, C# or VB, using IronRuby and a small Ruby testing framework, Bacon. This little subproject is called Eggs, and will be elaborated on in a following post.
AgDLR uses Bacon directly to test itself in the browser, making up a test-suite contained in agdlr-0.5.0-test.zip. This suite contains a lot of new tests written in Ruby, as well as ported Python tests from an internal Microsoft DLR Silverlight test suite.
Thanks to Dan Eloff for contributing two fixes to Microsoft.Scripting.Silverlight, and Harry Pierson for Chiron.XapHttpHandler, a way to have IIS and the ASP.NET Development WebServer auto-xap dynamic language applications (which is freakin’ awesome, and I’m going to write about it shortly as well).
So, download agdlr-0.5.0 and ...