The blogs of Black Marble staff

Compiler Dev Lab last day

It is the last day and so far it has been a great ammount of fun. This morning the SQL team
came to discuss the implementation of the CLR in SQL Server 2005.
The most enjoyable part of the day was a round table discussion.


DevLab Tuesday Evening

Jeff Sanquist organised a BBQ which was a trailer in the car park (remember it is February Folks) manned by a Hairy Biker; it must be said there was a point where I thought Jeff had lost the plot, I should have had more faith, the food was great. When I ambled down to the lecture room Channel 9 had just started filming a chat. UPDATE the video is now on Channel9 I am lurking in the background of the video and show up on the still :):)


Dev Lab Tuesday

Today we started with a presentation on VSIP program,
Chris Lovett presented "Whidbey XML editor and language service framework",
the XML editor and XSL debugger (isn't Whidbey just great) are shipped as standard
and Chris showed how this was done.

One of the most interesting parts showed how Visual Studio provides both
colourization and intellisense services. One of the most surprising is that
the colourisation is only passed characters on the current line and it is
expected to remember the rest of the line.
As visual studio requires parsing every time the system changes, parsers
need to be fast (in reality can only be lexers).

Kieran Mockford who we all remember as giving some great demonstrations in the UK
over the last few years is now a program manager for MSBuild.
As you would expect Kieran's demonstrations were spot on. There was a lot of interesting facts
presented about whidbey and MSBuild but ...

A great presentation by Shon Katzenburger who is the technical lead on the C# compiler
team, on Implementing generics in your compiler, really made me think about Generic
inference rules. If you are planning to use generics make sure you understand the rules
of inference so you can guarantee which methods are available in the applicable method

Side Note You need to be careful when defining generics Struct G<T> { static G<G<T>> g;> will overflow the stack,
I guess I hadn't thought of even doing this due to the standard rule of don't be too clever when you are doing
a design, but it is useful to know.

Jim Hugunin presented on Dynamic Languages on the CLR, Jim started to produce Python on .NET to prove that .NET
did not work as well as other down grade runtimes :), however after proving to himself and others he was wrong he
now works in the CLR team helping others see the power of .NET.

Microsoft Compiler Dev Lab

I am over at Microsoft in Redmond attending a Compiler Dev lab.
Compiler developers for all sorts of interesting compilers are here producing Cobol, RPG, Eifel, Delphi and others.

The event is run under NDA, so there is unfortunately a large number of ommisions.

John Gough provided an overview of producing your first CLR compiler,
I have seen John Gough present before and I have read the book (no tee shirt just yet).
The presentation was very well done and he managed to cover a lot of material,
If you are interested in compilers in .NET read his book.

Jim Millar presented the "Rules of the CLS" which was a fully interactive
discussion on the published rules of the CLS. Members of several teams at
Microsoft CLR, Visual Basic, C# and C++ all contributed to the discussion :)