john spurlock 2007

silverlight clr - initial thoughts

The Silverlight CLR was unveiled today. Here are some quick thoughts after poking around in the 4MB download on what it actually contains (and of course more telling - what it does not).

unmanaged dlls:

  • agcore, coreclr, mscorrc, npctrl - i did not dig into these, safe to assume these provide the slimmed down clr/garbage collector/native layer
  • ie/slr.dll - presumably the ie plugin
  • np/slr.dll - presumably the mozilla plugin

managed dlls:

  • agclr - slimmed down WPF library, no 3d etc
  • Microsoft.Scripting - the "dlr", includes a BigInteger implementation, awesome!
  • IronPython - python
  • IronPython.Modules - python
  • Microsoft.Scripting.Vestigial - once again python is first out of the gate
  • Microsoft.JScript.Compiler - javascript
  • Microsoft.JScript.Runtime - javascript
  • Microsoft.VisualBasic - nice to know IIF made the cut. late binding support via NewLateBinding
  • mscorlib - the largest managed assembly, though obviously cut down from the "real" version. no external processes, interop, or any io other than file manipulation. thread primitives are still there however, i'll be curious how these work in practice inside of the other "hosts". otherwise, what you'd expect.
  • System.Core - linq! made my day
  • System - regex and a that only includes httpwebrequest/response
  • System.SilverLight - presumably the silverlight host, includes a little document object model for interaction with the browser (and a BrowserHttpWebRequest, interesting)
  • System.Xml.Core - a barebones System.Xml replacement, no XmlDocument, no xpath, only the basic readers and writers

Make no mistake - this is definitely a slimmed down version of the base class library. Must have been a fun engineering effort squeezing the most into the install.

Interestingly enough, there is nothing from System.Data. omg no DataSets! :) I would bet that the final version will ship with a System.Data.Core (like the xml dll) but they are having trouble trimming the fat...