Announcing Microsoft Roslyn June 2012 CTP

Good afternoon all, I am happy to announce that we are releasing a second Community Technology Preview release of Roslyn, the project I actually work on, today. I am super excited!

So, let's cut to the chase. Key facts:

  • Roslyn is a library of code analysis APIs useful for building compilers, development environments, refactoring engines and so on. It supports lexical, grammatical and semantic analysis of C# and Visual Basic. And it is awesome.
  • This version of the CTP works well with the Visual Studio 2012 Release Candidate that was recently made available for download.
  • The C# semantic analysis engine now supports most, but not all, the C# language features. In particular, query expressions, anonymous types, anonymous functions and iterator blocks are now supported. The largest not-yet-implemented features are the "dynamic" feature from C# 4 and the "await" feature from C# 5. Nullable arithmetic mostly works but the code we generate is non-optimal; I haven't had time to write an optimizer yet.
  • We are giving you this sneak peek in order to get your feedback on the API design and related features such as the interactive window. Please post any comments you have to the Roslyn forum, and not to this blog. We have a team of awesome program managers who are gathering feedback from the forums and using it to help us tune the APIs to be as useful as possible for you all. We'll certainly take bug reports, but constructive feedback on the APIs is what we are going for here.
  • For a longer overview of this release, see Jason's blog post. You can get all the details and download the CTP from msdn.com/roslyn.

Comments

  • Anonymous
    June 05, 2012
    I believe many of your blog readers, ego certainly included, are super excited as well. Please keep up the good work, Mr. Lippert!

  • Anonymous
    June 05, 2012
    Great News! Unfortunately, I cannot install Rosyln with the latest Visual Studio 2012 RC =[. Anyone else having similar issues? I get the following: 0x81f40001 a compatible version of visual studio 2012 rc sdk was not detected The log shows: Registry key not found. Key = 'SOFTWAREMicrosoftDevDivvssdkServicing11.0finalizer' and Error 0x81f40001: Bundle condition evaluated to false: (VisualStudio11ProCoreInstalled AND VisualStudio11SdkInstalled) OR        (NOT VisualStudio11ProCoreInstalled AND NOT VisualStudio11SdkInstalled)

  • Anonymous
    June 05, 2012
    @Kurt Have you installed the VS 2012 SDK? www.microsoft.com/.../details.aspx

  • Anonymous
    June 06, 2012
    Great! This CTP is much sooner than I expected. Can't wait to try it out.

  • Anonymous
    June 06, 2012
    It looks like a detailed list of changes is posted at social.msdn.microsoft.com/.../2341e1f5-ce2e-48ff-93d6-bdd1bdbabd81

  • Anonymous
    June 07, 2012
    Jason's blog looks at it as an experimental add on to VS2012: "However, we want to enable anyone who has VS 2012 installed to explore the Roslyn APIs and use the C# Interactive Window. To allow this, the CTP refresh will install on both Visual Studio 2012 RC and Visual Studio 2010 SP1 (note that VS 11 Beta is not supported)." Do you know if it will be an option you can select when installing VS2012, or you would have to download and install separately? Also do you know if  there is anything similar in the works for C++ or Javascript?

  • Anonymous
    June 08, 2012
    That is so cool Eric! When do you think C# will get non-nullable reference types?

  • Anonymous
    June 08, 2012
    That is so cool Eric! When do you think C# will get non-nullable reference types? Or, if there is a fundamental difficulty with it, would you consider a series of posts uncovering it? Thanks!

  • Anonymous
    June 08, 2012
    Another question Eric, do you think it's a good idea to use Visual Studio macros as for ad-hock refactoring routines based on the Roslyn assemblies? Does Roslyn know anything about EnvDTE90 namespace? Thanks!

  • Anonymous
    June 08, 2012
    Last question Eric, why does the title of the right column of this blog reads "About Carl Nolan - Eric Lippert is a principal developer on the C# compiler team. Learn more about Eric." ? Thanks!