<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Comment Feed for Channel 9 - Luke Hoban: Orcas - Compiling LINQ, C# Futures, Intellisense</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense/RSS"></atom:link>
	<image>
		<url>http://ecn.channel9.msdn.com/o9/previewImages/100/249369_100x75.jpg</url>
		<title>Channel 9 - Luke Hoban: Orcas - Compiling LINQ, C# Futures, Intellisense</title>
		<link></link>
	</image>
	<description>Meet Luke Hoban, Program Manager on the C# Compiler team. Here, we talk about how LINQ works, from a compiler point of view. As you know by now, LINQ is a construct that is built of new language level innovations which of course must have compiler support...
 As you might imagine, given the nature of LINQ&#39;s requisite language level components, we talk about functional programming and it&#39;s new role in our good old imperative world. In Orcas, you shouldn&#39;t talk about LINQ without showing it in action inside of Visual
 Studio. Enjoy.For the detail-oriented folks out there: I shot this interview a few months ago, so you&#39;ll hear references to the Feb/March CTP. Have no fear, Niners, the content in this interview is as pertinent now as it was then (even more so with the release of Orcas beta
 1).</description>
	<link></link>
	<language>en</language>
	<pubDate>Tue, 21 May 2013 23:00:16 GMT</pubDate>
	<lastBuildDate>Tue, 21 May 2013 23:00:16 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: Luke Hoban: Orcas - Compiling LINQ, C# Futures, Intellisense</title>
		<description>
			<![CDATA[Charles,<br /><br />At the begining of the program, you mentioned &quot;February CTP&quot;. Did I hear you right?&nbsp;If so, is this old video? I have not gone through the whole video yet.<br /><br />Thanks.<br />Raghu/..<p>posted by raghur</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense#c633150569600000000</link>
		<pubDate>Fri, 18 May 2007 03:49:20 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense#c633150569600000000</guid>
		<dc:creator>raghur</dc:creator>
	</item>
	<item>
		<title>Re: Luke Hoban: Orcas - Compiling LINQ, C# Futures, Intellisense</title>
		<description>
			<![CDATA[Sorry. I should have read your comment. You did mention that it was old video.<br /><br />Raghu/..<p>posted by raghur</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense#c633150570070000000</link>
		<pubDate>Fri, 18 May 2007 03:50:07 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense#c633150570070000000</guid>
		<dc:creator>raghur</dc:creator>
	</item>
	<item>
		<title>Re: Luke Hoban: Orcas - Compiling LINQ, C# Futures, Intellisense</title>
		<description>
			<![CDATA[Way to go Charles, @ 18:10 whipping out the Distinct keyword! I really have to sharpen-up my linq skills. When I first used Orcas, I was disturbed how aggressively intelisense was in investigating my code. However, it saves a tremendous amount of time,
 which would otherwise be wasted staring at a blinking pipe. The results of better integration between the IDE and the compiler are truly impressive.<p>posted by Jsoh</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense#c633150590820000000</link>
		<pubDate>Fri, 18 May 2007 04:24:42 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense#c633150590820000000</guid>
		<dc:creator>Jsoh</dc:creator>
	</item>
	<item>
		<title>Re: Luke Hoban: Orcas - Compiling LINQ, C# Futures, Intellisense</title>
		<description>
			<![CDATA[A young dude doing that kind of cool stuff. Respect! <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-2.gif' alt='Big Smile' /><p>posted by Chadk</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense#c633150750970000000</link>
		<pubDate>Fri, 18 May 2007 08:51:37 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense#c633150750970000000</guid>
		<dc:creator>Chadk</dc:creator>
	</item>
	<item>
		<title>Re: Luke Hoban: Orcas - Compiling LINQ, C# Futures, Intellisense</title>
		<description>
			<![CDATA[Great video!<br /><br />I love the &quot;simplicity&quot; of LINQ and now I think it's even simpler after listening to Luke's explanations.<br /><br />Would be nice if you could make a video where it's showed how to make a simple LINQ-to-X interface, since, I think, that where the real power of LINQ is unleashed <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /><br /><br />&nbsp;- Dan<br /><br /><br /><p>posted by Tank</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense#c633150908040000000</link>
		<pubDate>Fri, 18 May 2007 13:13:24 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense#c633150908040000000</guid>
		<dc:creator>Tank</dc:creator>
	</item>
	<item>
		<title>Re: Luke Hoban: Orcas - Compiling LINQ, C# Futures, Intellisense</title>
		<description>
			<![CDATA[
<blockquote>
<div class="quoteAuthor">Chadk wrote:</div>
<div class="quoteBody">&#65279;A young dude doing that kind of cool stuff. Respect! <img src="/emoticons/emotion-2.gif" border="0"></div>
</blockquote>
<br /><br />Damn! I want to get the internship next summer! I want to work and chat with you guys...
<br /><br />Great video, Charles - although you could have dug a little bit deeper - but it's hard when you see something for the first time. <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /><p>posted by littleguru</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense#c633151043600000000</link>
		<pubDate>Fri, 18 May 2007 16:59:20 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense#c633151043600000000</guid>
		<dc:creator>littleguru</dc:creator>
	</item>
	<item>
		<title>Re: Luke Hoban: Orcas - Compiling LINQ, C# Futures, Intellisense</title>
		<description>
			<![CDATA[Nice video. <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /><br /><br />If anybody know, I would be very thankful if&nbsp;someone could explain me speed implications of the LINQ.
<br /><br />I've watche the video and it seems LINQ uses a lot of lambda functions, which I suspect are stack based. So are the linq expressions as fast as normal hand coded loops or they abuse stack and are thus slow. Can JIT compiler/Linq somehow&nbsp;inline those lambda
 functions to avoid suffering from stack over-use?<br /><br />Or in other words, can I use&nbsp;linq for some serious math computations as a replacement for 'while' and 'for' statement?<br /><br />Thanks for any answers. <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-2.gif' alt='Big Smile' /><p>posted by RoyalSchrubber</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense#c633151098110000000</link>
		<pubDate>Fri, 18 May 2007 18:30:11 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense#c633151098110000000</guid>
		<dc:creator>RoyalSchrubber</dc:creator>
	</item>
	<item>
		<title>Re: Luke Hoban: Orcas - Compiling LINQ, C# Futures, Intellisense</title>
		<description>
			<![CDATA[Inlining probably won't happen, because the JIT compiler would have to inline all the
<font face="Courier New">.Where</font>, <font face="Courier New">.Group</font>, <font face="Courier New">
.Sort</font> and <font face="Courier New">.Select</font> calls and those are definitely not short functions.<br />Apart from that, LINQ over in-memory structures is written against interfaces (if I'm not mistaken) and therefor uses virtual calls all over the place.<br />And yes, the lambda expressions are called via delegates.<br /><p>posted by SealedSun</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense#c633152050150000000</link>
		<pubDate>Sat, 19 May 2007 20:56:55 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense#c633152050150000000</guid>
		<dc:creator>SealedSun</dc:creator>
	</item>
	<item>
		<title>Re: Luke Hoban: Orcas - Compiling LINQ, C# Futures, Intellisense</title>
		<description>
			<![CDATA[
<blockquote>
<div class="quoteAuthor">SealedSun wrote:</div>
<div class="quoteBody">&#65279;Inlining probably won't happen, because the JIT compiler would have to inline all the
<font face="Courier New">.Where</font>, <font face="Courier New">.Group</font>, <font face="Courier New">
.Sort</font> and <font face="Courier New">.Select</font> calls and those are definitely not short functions.<br />Apart from that, LINQ over in-memory structures is written against interfaces (if I'm not mistaken) and therefor uses virtual calls all over the place.<br />And yes, the lambda expressions are called via delegates.<br /></div>
</blockquote>
<br /><br />Hmmm. The .Where, .Group, .Sort, ... methods are defined in static classes (the in memory that come with .NET 3.5 - Enumerable is the static class name) and therefore in static methods. I think they can be inlined without any problems (They are also not that
 long, because they return only an IQueryable instance). The lambda expressions itself are very short and good candidates for inlining.<br /><br />I wonder if somebody from the team could jump into this discussion and bring some light to it.<p>posted by littleguru</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense#c633152933140000000</link>
		<pubDate>Sun, 20 May 2007 21:28:34 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense#c633152933140000000</guid>
		<dc:creator>littleguru</dc:creator>
	</item>
	<item>
		<title>Re: Luke Hoban: Orcas - Compiling LINQ, C# Futures, Intellisense</title>
		<description>
			<![CDATA[People who'd like to build building custom query providers for LINQ using the IQueryable interface might be interested to check out my blog series on
<a href="http://community.bartdesmet.net/blogs/bart/archive/tags/LINQ/default.aspx">
LINQ to LDAP</a>. Another interesting project might be <a href="http://www.codeplex.com/linqtosharepoint">
LINQ to SharePoint on CodePlex</a>. If you want to get some insight in the standard query operators from LINQ to Objects, check out the
<a href="http://www.codeplex.com/linqsqo">LINQ-SQO project</a>.<br /><br />Just my 3.14 cents.<br /><br />-Bart<p>posted by bdesmet</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense#c633155311610000000</link>
		<pubDate>Wed, 23 May 2007 15:32:41 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense#c633155311610000000</guid>
		<dc:creator>bdesmet</dc:creator>
	</item>
	<item>
		<title>Re: Luke Hoban: Orcas - Compiling LINQ, C# Futures, Intellisense</title>
		<description>
			<![CDATA[Apart from type inference of parameters, what do lamba functions add to anonymous methods? In the example Luke showed on the whiteboard, instead of generating&nbsp;array.Select(&nbsp;i =&gt; i*i), the compiler&nbsp;could have generated&nbsp; array.Select(delegate (int i) { return
 i*i;} );. Of course, it would have to know at that point that i is an int, but it would have to know about it eventually, even with lambda functions. I guess it makes the compiler design simpler to do it in two separate steps?<p>posted by senthilkumar</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense#c633158115530000000</link>
		<pubDate>Sat, 26 May 2007 21:25:53 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense#c633158115530000000</guid>
		<dc:creator>senthilkumar</dc:creator>
	</item>
	<item>
		<title>Re: Luke Hoban: Orcas - Compiling LINQ, C# Futures, Intellisense</title>
		<description>
			<![CDATA[
<p>I'd say lambda expressions have two major benefits over anonymous methods.&nbsp; First, they are syntactically more concise.&nbsp; Since the functions defined by lambdas or anonymous methods are most often needed in-line as part of a larger expression - it's important
 to have a good concise syntax.&nbsp; Otherwise, the code quickly becomes very difficult to read.&nbsp; So a major goal for lambdas was to provide a really concise and readable way to declare these small functions in-line.&nbsp;
<br /><br />The other benefit is the type inference you mention.&nbsp; This also helps with conciseness - but more importantly it avoids littering the type names all over a single simple expression, which can become a significant syntactic issue for many uses of lambdas.<br /><br />At a higher level - the emphasis on lambdas is actually much more general than LINQ.&nbsp; We see many new APIs looking to provide the kind of level of abstraction that really requires taking delegates as arguments - and LINQ is just one example.&nbsp; I definitely expect
 to see more of these APIs in other interesting domains over the coming months/years.</p>
<p>posted by Luke Hoban</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense#c633165678810000000</link>
		<pubDate>Mon, 04 Jun 2007 15:31:21 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense#c633165678810000000</guid>
		<dc:creator>Luke Hoban</dc:creator>
	</item>
</channel>
</rss>