Some .NET Framework Research at MSR Cambridge

The .NET Common Language Runtime (CLR) provides services for the execution
of software, e.g. JIT compilation and garbage collection.  As the name
suggests, it has been designed to support a range of programming languages
and to help them interoperate.  MSR Cambridge have been involved with the
platform since mid 1998, analysing the design, writing compilers for the
platform and proposing extensions.  Several significant research projects
are currently underway, and this talk will give an overview of these.   The
projects include:

   o A formal description and analysis of the verification rules for
     the CLR's intermediary language, MS-IL (Gordon and Syme);

   o The design and implementation of support for polymorphism in the
     CLR (Kennedy & Syme);

   o The implementation of compilers for Haskell (Syme & Thomas) and
      Standard ML  (Benton & Kennedy), along with language-specific extensions
     for better interoperability;

   o The design and implementation of MS-ILX, an extended version of
     MS-IL with support for closures, polymorphism and algebraic datatypes
    (Syme).

This talk will outline what we're covering in these projects, explaining how
they fit together in the wider scheme of things.