views:

1042

answers:

3

Back at the PDC in 2008, in the C# futures talk by Anders Hejlsberg he talked about rewriting the C# compiler and providing a "compiler as a service" I certainly got the impression at the time that they were targeting the C# 4.0 timeframe for this....

Well, does anyone know what the state of this is? it doesn't seem to be there in the CTP and there is almost no information on the WEB apart from links to the 2008 PDC session video (roughly an hour in).

Has this initiative gone dark?

+2  A: 

I'm pretty sure I heard rumours of this being a "between 4.0 and 5.0" item now (a separate library, like ASP.NET MVC)... but I can't remember where I heard that. I certainly wouldn't expect it in 4.0 at this point. Frankly I don't even really know what the phrase means exactly - it could cover a whole range of features.

Jon Skeet
I think it means 100% in memory compilation IE: `string -> assembly`.
ChaosPandion
I hope it means `string` -> `expression tree` -> to your-choice, expression trees as a lingua franca for conversion between strings, executable methods and types, assemblies and so on, perhaps even an extensible compiler pipeline allowing custom language extensions, DSLs, etc. Well, I can dream.
Daniel Earwicker
@Earwicker: I believe that's the case. It would relieve half of my pain in writing a static analysis tool.
Mehrdad Afshari
+5  A: 

It's already available in Mono for quite some time.

Jörg W Mittag
Are you sure? I know about the REPL thing but this one is available too?
Mehrdad Afshari
The Mono C# Shell is based on such a compiler service, http://tirania.org/blog/archive/2008/Sep-08.htmlhttp://tirania.org/blog/archive/2008/Sep-10.htmlhttp://www.mono-project.com/CSharp_Compiler
Lex Li
@Lex is right: actually, the C# REPL is really just a demo for the Compiler-as-a-Service feature in Mono. The REPL is Miguel's tongue-in-cheek response to Anders Hejlsberg's talk, in which he mentioned the possibility of a REPL for some future post-4.0 version of C#. Miguel wanted to demonstrate that you can write a REPL in Mono *right now* in less lines of C# than Anders wrote lines of English about it in his slides and less time than Anders talked about it.
Jörg W Mittag
I just cannot forget the two sessions on PDC2008. Anders, http://channel9.msdn.com/pdc2008/TL16/ and Miguel, http://channel9.msdn.com/pdc2008/PC54/. Yes, see them in this order and you will understand why Miguel's session is so funny. :)
Lex Li
+18  A: 

Certainly not C# 4.0. We are just finishing up the last few bug fixes for C# 4.0.

This direction for the toolset is the long term plan, and might never come to fruition. And I don't discuss schedules for unannounced, hypothetical future features.

Eric Lippert
@Eric, thanks for taking the time to answer this personally. I really hope it does come to fruition, it opens up a whole raft of interesting feutures that we can add to our apps. and frankly, its just cool!I totally get and respect your position on not discussing schedules....there be dragons there...when you do that. But it would be nice to know if its still in the cooker...no other details required ;-)
Tim Jarvis
This is certainly the most upvoted "I'm not gonna talk about it" answer on SO! ;)
Mehrdad Afshari
@Tim: I might *or might not* be in a meeting about it right now.
Eric Lippert