<?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 - Keynote - Martin Odersky: Reflection and Compilers</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/Reflection-and-Compilers/rss"></atom:link>
	<image>
		<url>http://ch9files.blob.core.windows.net/ch9/542b/2550b236-f301-4e81-8e13-2ac436fb542b/LangNEXT2012KeynoteOderskyReflection_220.jpg</url>
		<title>Channel 9 - Keynote - Martin Odersky: Reflection and Compilers</title>
		<link></link>
	</image>
	<description>Reflection and compilers do tantalizing similar things. Yet, in mainstream, statically typed languages the two have been only loosely coupled, and generally share very little code. In this talk I explore what happens if one sets out to overcome their separation. &amp;nbsp;The first half of the talk addresses the challenge how reflection libraries can share core data structures and algorithms with the language&#39;s compiler without having compiler internals leaking into the standard library API. It turns out that a component system based on abstract types and path-dependent types is a good tool to solve this challenge. I&#39;ll explain how the &amp;quot;multiple cake pattern&amp;quot; can be fruitfully applied to expose the right kind of information. The second half of the talk explores what one can do when strong, mirror-based reflection is a standard tool. In particular, the compiler itself can use reflection, leading to a particular system of low-level macros that rewrite syntax trees. One core property of these macros is that they can express staging, by rewriting a tree at one stage to code that produces the same tree at the next stage. Staging lets us implement type reification and general LINQ-like functionality. What&#39;s more, staging can also be applied to the macro system itself, with the consequence that a simple low-level macro system can produce a high-level hygienic one, without any extra effort from the language or compiler. </description>
	<link></link>
	<language>en</language>
	<pubDate>Sat, 25 May 2013 19:22:38 GMT</pubDate>
	<lastBuildDate>Sat, 25 May 2013 19:22:38 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: Keynote - Martin Odersky: Reflection and Compilers</title>
		<description>
			<![CDATA[I don&#39;t see slides and camera doesn&#39;t zoom on screen &#58;-&#92;<p>posted by borkdorkork</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/Reflection-and-Compilers#c634693386957976192</link>
		<pubDate>Fri, 06 Apr 2012 19:51:35 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/Reflection-and-Compilers#c634693386957976192</guid>
		<dc:creator>borkdorkork</dc:creator>
	</item>
	<item>
		<title>Re: Keynote - Martin Odersky: Reflection and Compilers</title>
		<description>
			<![CDATA[<p>@<a href="/Events/Lang-NEXT/Lang-NEXT-2012/Reflection-and-Compilers#c634693386957976192">borkdorkork</a>: Hi. We don't have the slides available yet. We hope to, though!</p><p>C</p><p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/Reflection-and-Compilers#c634693392736150576</link>
		<pubDate>Fri, 06 Apr 2012 20:01:13 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/Reflection-and-Compilers#c634693392736150576</guid>
		<dc:creator>Charles</dc:creator>
	</item>
	<item>
		<title>Re: Keynote - Martin Odersky: Reflection and Compilers</title>
		<description>
			<![CDATA[The sound is terrible. Big pity.<p>posted by Andre van Delft</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/Reflection-and-Compilers#c634693482719233696</link>
		<pubDate>Fri, 06 Apr 2012 22:31:11 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/Reflection-and-Compilers#c634693482719233696</guid>
		<dc:creator>Andre van Delft</dc:creator>
	</item>
	<item>
		<title>Re: Keynote - Martin Odersky: Reflection and Compilers</title>
		<description>
			<![CDATA[<p>@<a href="/Events/Lang-NEXT/Lang-NEXT-2012/Reflection-and-Compilers#c634693482719233696">Andre van Delft</a>:</p><p><br>We are looking into what we can do (the signal we received at the venue was just too maxed out and there is no pro audio equipment serving that room). We have a skilled editor looking into these audio &quot;issues&quot;. Stay tuned.</p><p>C</p><p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/Reflection-and-Compilers#c634693487806295132</link>
		<pubDate>Fri, 06 Apr 2012 22:39:40 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/Reflection-and-Compilers#c634693487806295132</guid>
		<dc:creator>Charles</dc:creator>
	</item>
	<item>
		<title>Re: Keynote - Martin Odersky: Reflection and Compilers</title>
		<description>
			<![CDATA[<p>Oh, Lang.net already in progress!&nbsp;</p><p>Great talk here.&nbsp; <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /></p><p>(I agree on the audio being sub-par. Compare the audio to e.g. the latest episode of cloud cover and you'll have much more pleasant voice recordings. The content rocks though.)</p><p>posted by exoteric</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/Reflection-and-Compilers#c634693525318553676</link>
		<pubDate>Fri, 06 Apr 2012 23:42:11 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/Reflection-and-Compilers#c634693525318553676</guid>
		<dc:creator>exoteric</dc:creator>
	</item>
	<item>
		<title>Re: Keynote - Martin Odersky: Reflection and Compilers</title>
		<description>
			<![CDATA[<p>@<a href="/Events/Lang-NEXT/Lang-NEXT-2012/Reflection-and-Compilers#c634693525318553676">exoteric</a>: Yeah. The audio system at the venue was less than stellar. We did what we could do. Now, as I mentioned above, we are working on it in post-production. (well, post post-production at this point). No guarantee we can magically make it better, but we're trying. No need to discuss this more on this post. Keep on topic!</p><p>Cheers,</p><p>C</p><p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/Reflection-and-Compilers#c634693526862966306</link>
		<pubDate>Fri, 06 Apr 2012 23:44:46 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/Reflection-and-Compilers#c634693526862966306</guid>
		<dc:creator>Charles</dc:creator>
	</item>
	<item>
		<title>Re: Keynote - Martin Odersky: Reflection and Compilers</title>
		<description>
			<![CDATA[<p>Scala may be the best choice for JVM environment. It gives developers some functional concepts but is quite simple language still (for a Java developer). This was a great presentation. Also challenging audience.</p><p>However, I didn't like the &quot;Cake pattern&quot;. It reminds me of the C# partial classes: Try to be object-oriented (classes) but still break two basic design principles of OO:</p><p>1. Single responsibility principle: Composition classes often have many responsibilities.</p><p>2. Open Close Principle: Software entities like classes, modules and functions should be open for extension but closed for modifications. This means that the internal state and design of the entity should not be visible to outside.</p><p>posted by Thorium</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/Reflection-and-Compilers#c634709863073587843</link>
		<pubDate>Wed, 25 Apr 2012 21:31:47 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/Reflection-and-Compilers#c634709863073587843</guid>
		<dc:creator>Thorium</dc:creator>
	</item>
	<item>
		<title>Re: Keynote - Martin Odersky: Reflection and Compilers</title>
		<description>
			<![CDATA[guys..see the date&#40;2nd April 2101&#41;<p>posted by bhupendra</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/Reflection-and-Compilers#c634728439835609774</link>
		<pubDate>Thu, 17 May 2012 09:33:03 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/Reflection-and-Compilers#c634728439835609774</guid>
		<dc:creator>bhupendra</dc:creator>
	</item>
</channel>
</rss>