<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" media="screen" href="/App_Themes/default/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:evnet="http://www.mscommunities.com/rssmodule/"><channel><title>Entries tagged with programming languages - Channel 9</title><atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/tags/programming+languages/feed/zune/default.aspx" /><image><url>http://mschnlnine.vo.llnwd.net/d1/Dev/App_Themes/C9/images/feedimage.png</url><title>Entries tagged with programming languages - Channel 9</title><link>http://channel9.msdn.com/tags/Programming+Languages/</link></image><description>programming languages</description><link>http://channel9.msdn.com/tags/Programming+Languages/</link><language>en-us</language><pubDate>Tue, 03 Nov 2009 22:59:52 GMT</pubDate><lastBuildDate>Tue, 03 Nov 2009 22:59:52 GMT</lastBuildDate><generator>EvNet (EvNet, Version=1.0.3608.3122, Culture=neutral, PublicKeyToken=null)</generator><item><title>C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals Chapter 9 of 13</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/2/1/2/4/0/5/C9LecturesMeijerFPC9_85_ch9.png" border="0" /&gt;We've kicked off &lt;a href="http://channel9.msdn.com/tags/C9+Lectures" target="_blank"&gt;C9 Lectures&lt;/a&gt; with a journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. &lt;a href="http://research.microsoft.com/~emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; (you can thank Erik for many of the functional constructs that have shown up in languages like C# and VB.NET. When you use LINQ, thank Erik in addition to Anders). &lt;br /&gt;
&lt;br /&gt;
We will release a new chapter in this series every Thursday.&lt;br /&gt;
&lt;br /&gt;
In &lt;strong&gt;Chapter 9&lt;/strong&gt;, &lt;strong&gt;Interactive Programs&lt;/strong&gt;, Dr. Meijer will teach us how to make programs in Haskell that are side-effecting: &lt;em&gt;interactive&lt;/em&gt;. Haskell programs are pure mathematical functions with no side effects. That said, you want to be able to write Haskell programs that can read input from the keyboard and write output to the screen which are in fact side effects. So, interactive programs have side effects... Interactive programs can be written in Haskell by using types to distinguish pure expressions from impure actions that may involve side effects. &lt;br /&gt;
&lt;br /&gt;
Consider the following:
&lt;p&gt;&lt;strong&gt;&lt;br /&gt;
IO a&lt;br /&gt;
&lt;/strong&gt;&lt;em&gt;The type of actions that return values of type a&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;IO Char&lt;br /&gt;
&lt;/strong&gt;&lt;em&gt;The type of actions that return a character&lt;br /&gt;
&lt;br /&gt;
&lt;/em&gt;&lt;strong&gt;IO()&lt;br /&gt;
&lt;/strong&gt;&lt;em&gt;The type of purely side effecting actions that return no result value&lt;/em&gt;&lt;/p&gt;
Warning: This lecture may contain the use of the term Monad. Do not fear. Everything will be OK. :)&lt;br /&gt;
&lt;br /&gt;
You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):&lt;br /&gt;
&lt;br /&gt;
Get the presentation slides &lt;a href="http://www.cs.nott.ac.uk/~gmh/book.html#slides" target="_blank"&gt;&lt;strong&gt;here&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"&gt;&lt;b&gt;Chapter 1&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" target="_blank"&gt;&lt;b&gt;Chapter 2&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" target="_blank"&gt;&lt;b&gt;Chapter 3&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 4&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 5&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 6&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 7&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-8-of-13/" target="_self"&gt;&lt;strong&gt;Chapter 8&lt;/strong&gt;&lt;/a&gt;&lt;img src="http://channel9.msdn.com/504212/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-9-of-13/</comments><link>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-9-of-13/</link><pubDate>Thu, 26 Nov 2009 18:48:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/2/1/2/4/0/5/C9LecturesMeijerFPC9_2MB_ch9.wmv</guid><evnet:views>8089</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/504212/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>In &lt;strong&gt;Chapter 9&lt;/strong&gt;, &lt;strong&gt;Interactive Programs&lt;/strong&gt;, Dr. Meijer will teach us how to make programs in Haskell that are side-effecting, interactive. Haskell programs are pure mathematical functions with no side effects. That said, you want to be able to write Haskell programs that can read input from the keyboard and write output to the screen which are in fact side effects. So, interactive programs have side effects... Interactive programs can be written in Haskell by using types to distinguish pure expressions from impure actions that may involve side effects. &lt;em&gt;&lt;br /&gt;
&lt;/em&gt;&lt;br /&gt;
Warning: This lecture may contain Monad. Do not fear. Everything will be OK. &lt;img src='/emoticons/C9/emotion-1.gif' alt='Smiley' /&gt;</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/2/1/2/4/0/5/C9LecturesMeijerFPC9_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/2/1/2/4/0/5/C9LecturesMeijerFPC9_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/2/1/2/4/0/5/C9LecturesMeijerFPC9_ch9.mp4" expression="full" duration="2526" fileSize="297156602" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/2/1/2/4/0/5/C9LecturesMeijerFPC9_ch9.mp3" expression="full" duration="2526" fileSize="20216693" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/2/1/2/4/0/5/C9LecturesMeijerFPC9_ch9.mp4" expression="full" duration="2526" fileSize="297156602" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/2/1/2/4/0/5/C9LecturesMeijerFPC9_ch9.wma" expression="full" duration="2526" fileSize="20441183" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/2/1/2/4/0/5/C9LecturesMeijerFPC9_ch9.wmv" expression="full" duration="2526" fileSize="424904891" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/2/1/2/4/0/5/C9LecturesMeijerFPC9_2MB_ch9.wmv" expression="full" duration="2526" fileSize="983991934" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/2/1/2/4/0/5/C9LecturesMeijerFPC9_Zune_ch9.wmv" expression="full" duration="2526" fileSize="341736943" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/2/1/2/4/0/5/C9LecturesMeijerFPC9_512_ch9.png" expression="full" duration="2526" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/2/1/2/4/0/5/C9LecturesMeijerFPC9.ism/Manifest" expression="full" duration="2526" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/2/1/2/4/0/5/C9LecturesMeijerFPC9_2MB_ch9.wmv" length="983991934" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>10</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-9-of-13/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/504212/Trackback.aspx</trackback:ping><category>C9 Lectures</category><category>Erik Meijer</category><category>Functional Programming</category><category>Haskell</category><category>Programming Languages</category></item><item><title>C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals Chapter 8 of 13</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_85_ch9.png" border="0" /&gt;We've kicked off &lt;a href="http://channel9.msdn.com/tags/C9+Lectures" target="_blank"&gt;C9 Lectures&lt;/a&gt; with a journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. &lt;a href="http://research.microsoft.com/~emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; (you can thank Erik for many of the functional constructs that have shown up in languages like C# and VB.NET. When you use LINQ, thank Erik in addition to Anders). &lt;br /&gt;
&lt;br /&gt;
We will release a new chapter in this series every Thursday.&lt;br /&gt;
&lt;br /&gt;
In &lt;strong&gt;Chapter 8&lt;/strong&gt;, &lt;strong&gt;Functional Parsers&lt;/strong&gt;, it's all about parsing and parsers. A parser is a program that analyses a piece of text to determine its syntactic structure. In a functional language such as Haskell, parsers can naturally be viewed as functions.&lt;br /&gt;
&lt;br /&gt;
  type Parser = String -&amp;gt; Tree&lt;br /&gt;
&lt;br /&gt;
A parser is a function that takes a string and returns some form of tree.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):&lt;br /&gt;
&lt;br /&gt;
Get the presentation slides &lt;a href="http://www.cs.nott.ac.uk/~gmh/book.html#slides" target="_blank"&gt;&lt;strong&gt;here&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"&gt;&lt;b&gt;Chapter 1&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" target="_blank"&gt;&lt;b&gt;Chapter 2&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" target="_blank"&gt;&lt;b&gt;Chapter 3&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 4&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 5&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 6&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 7&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;img src="http://channel9.msdn.com/504211/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-8-of-13/</comments><link>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-8-of-13/</link><pubDate>Thu, 19 Nov 2009 18:55:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_2MB_ch9.wmv</guid><evnet:views>38415</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/504211/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>In &lt;strong&gt;Chapter 8&lt;/strong&gt;, &lt;strong&gt;Functional Parsers&lt;/strong&gt;, it's all about parsing and parsers. A parser is a program that analyses a piece of text to determine its syntactic structure. In a functional language such as Haskell, parsers can naturally be viewed as functions. &lt;br /&gt;
&lt;br /&gt;
type Parser = String -&amp;gt; Tree&lt;br /&gt;
&lt;br /&gt;
A parser is a function that takes a string and returns some form of tree.</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_ch9.mp4" expression="full" duration="3287" fileSize="435268814" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_ch9.mp3" expression="full" duration="3287" fileSize="26301343" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_ch9.mp4" expression="full" duration="3287" fileSize="435268814" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_ch9.wma" expression="full" duration="3287" fileSize="26593375" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_ch9.wmv" expression="full" duration="3287" fileSize="570803545" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_2MB_ch9.wmv" expression="full" duration="3287" fileSize="1280192037" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_Zune_ch9.wmv" expression="full" duration="3287" fileSize="422371597" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_512_ch9.png" expression="full" duration="3287" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/1/1/2/4/0/5/C9LecturesMeijerC8.ism/Manifest" expression="full" duration="3287" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_2MB_ch9.wmv" length="1280192037" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>16</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-8-of-13/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/504211/Trackback.aspx</trackback:ping><category>C9 Lectures</category><category>Erik Meijer</category><category>Functional Programming</category><category>Haskell</category><category>Programming Languages</category></item><item><title>C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals Chapter 7 of 13</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_85_ch9.png" border="0" /&gt;&lt;p&gt;We've kicked off &lt;a href="http://channel9.msdn.com/tags/C9+Lectures" target="_blank"&gt;C9 Lectures&lt;/a&gt; with a journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. &lt;a href="http://research.microsoft.com/~emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; (you can thank Erik for many of the functional constructs that have shown up in languages like C# and VB.NET. When you use LINQ, thank Erik in addition to Anders). &lt;br /&gt;
&lt;br /&gt;
We will release a new chapter in this series every Thursday.&lt;br /&gt;
&lt;br /&gt;
In &lt;strong&gt;Chapter 7&lt;/strong&gt;, Dr. Meijer teaches us about &lt;strong&gt;Higher-Order Functions&lt;/strong&gt;. A function is called higher-order if it takes a function as an argument and returns a function as a result:&lt;br /&gt;
&lt;br /&gt;
twice    :: (a -&amp;gt; a) -&amp;gt; a -&amp;gt; a&lt;br /&gt;
twice f x = f (f x)&lt;br /&gt;
&lt;br /&gt;
The function twice above is higher order because it takes a function (f x) as it first argument and returns a function (f(fx)) &lt;br /&gt;
&lt;br /&gt;
Dr. Meijer will elaborate on why higher-order functions are important and there are some really interesting side-effects of higher-order functions such as defining DSLs as collections of higher-order functions and using algebraic properties of higher-order functions to reason about programs. &lt;br /&gt;
&lt;br /&gt;
You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"&gt;&lt;b&gt;Chapter 1&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" target="_blank"&gt;&lt;b&gt;Chapter 2&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" target="_blank"&gt;&lt;b&gt;Chapter 3&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 4&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 5&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 6&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Now, we do have a textbook and you should go buy it: The great &lt;a href="http://www.cs.nott.ac.uk/~gmh/" target="_blank"&gt;Graham Hutton's&lt;/a&gt; &lt;a href="http://www.cs.nott.ac.uk/~gmh/book.html" target="_blank"&gt;Programming in Haskell&lt;/a&gt;. We worked with the publisher, Cambridge University Press, to get all Niners a &lt;b&gt;20%&lt;/b&gt; discount on the book. Now, you don't need the book to learn a great deal from this lecture series since Graham's website has all the slides and samples from the book as well as answers to the exercises. That said, it's highly recommended reading and you should consider it. &lt;/p&gt;
&lt;p&gt;The promotion code is &lt;b&gt;09HASK&lt;/b&gt; and it is vaild on both the Hardback:&lt;/p&gt;
&lt;p&gt;9780521871723 and Paperback: 9780521692694. The catalog pages are:&lt;/p&gt;
&lt;p&gt;Hardback:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521871723"&gt;http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521871723&lt;/a&gt; and the paperback is:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521692694"&gt;http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521692694&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note&lt;/b&gt;: This special offer is valid until &lt;b&gt;December 31, 2009&lt;/b&gt; &lt;/p&gt;&lt;img src="http://channel9.msdn.com/504209/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13/</comments><link>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13/</link><pubDate>Thu, 12 Nov 2009 16:42:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_2MB_ch9.wmv</guid><evnet:views>32979</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/504209/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>In &lt;strong&gt;Chapter 7&lt;/strong&gt;, Dr. Meijer teaches us about &lt;strong&gt;Higher-Order Functions&lt;/strong&gt;. A function is called higher-order if it takes a function as an argument and returns a function as a result:&lt;br /&gt;
&lt;br /&gt;
twice :: (a -&amp;gt; a) -&amp;gt; a -&amp;gt; a&lt;br /&gt;
twice f x = f (f x)&lt;br /&gt;
&lt;br /&gt;
The function twice above is higher order because it takes a function (f x) as it first argument and returns a function (f(fx)) &lt;br /&gt;
&lt;br /&gt;
Dr. Meijer will elaborate on why higher-order functions are important and there are some really interesting uses of higher-order functions: You can define DSLs as collections of higher-order functions and use the algebraic properties of higher-order functions to reason about programs.&lt;br /&gt;</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_ch9.mp4" expression="full" duration="2747" fileSize="298495904" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_ch9.mp3" expression="full" duration="2747" fileSize="21983825" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_ch9.mp4" expression="full" duration="2747" fileSize="298495904" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_ch9.wma" expression="full" duration="2747" fileSize="22228569" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_ch9.wmv" expression="full" duration="2747" fileSize="387323991" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_2MB_ch9.wmv" expression="full" duration="2747" fileSize="1069934805" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_Zune_ch9.wmv" expression="full" duration="2747" fileSize="313244043" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_512_ch9.png" expression="full" duration="2747" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7.ism/Manifest" expression="full" duration="2747" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_2MB_ch9.wmv" length="1069934805" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>12</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/504209/Trackback.aspx</trackback:ping><category>C9 Lectures</category><category>Erik Meijer</category><category>Functional Programming</category><category>Haskell</category><category>Programming Languages</category></item><item><title>C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals Chapter 5 of 13</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_85_ch9.png" border="0" /&gt;&lt;p&gt;We've kicked off &lt;a href="http://channel9.msdn.com/tags/C9+Lectures" target="_blank"&gt;C9 Lectures&lt;/a&gt; with a journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. &lt;a href="http://research.microsoft.com/~emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; (you can thank Erik for many of the functional constructs that have shown up in languages like C# and VB.NET. When you use LINQ, thank Erik in addition to Anders). &lt;br /&gt;
&lt;br /&gt;
We will release a new chapter in this series every Thursday.&lt;br /&gt;
&lt;br /&gt;
In &lt;strong&gt;Chapter 5&lt;/strong&gt;, Dr. Meijer introduces and digs into &lt;strong&gt;List Comprehensions&lt;/strong&gt;. In mathematics, comprehension notation is used to construct new sets from old sets. In Haskell, you can create new lists from old lists using a similar comprehension syntax:&lt;br /&gt;
&lt;br /&gt;
[x^2 | x &amp;lt;- [1..5]]&lt;br /&gt;
&lt;br /&gt;
The above notation represents the list [1,4,9,16,25] of all numbers x^2 such that x is an element of the list [1..5]. The &amp;lt;- [1..5] syntax is known as a &lt;strong&gt;generator&lt;/strong&gt; and list comprehensions can have mulitple generators that can have explicit dependencies on other generators. You will also learn about &lt;strong&gt;guards&lt;/strong&gt;, which restrict values created by earlier generators.&lt;br /&gt;
&lt;br /&gt;
You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"&gt;&lt;b&gt;Chapter 1&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" target="_blank"&gt;&lt;b&gt;Chapter 2&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" target="_blank"&gt;&lt;b&gt;Chapter 3&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 4&lt;br /&gt;
&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
Now, we do have a textbook and you should go buy it: The great &lt;a href="http://www.cs.nott.ac.uk/~gmh/" target="_blank"&gt;Graham Hutton's&lt;/a&gt; &lt;a href="http://www.cs.nott.ac.uk/~gmh/book.html" target="_blank"&gt;Programming in Haskell&lt;/a&gt;. We worked with the publisher, Cambridge University Press, to get all Niners a &lt;b&gt;20%&lt;/b&gt; discount on the book. Now, you don't need the book to learn a great deal from this lecture series since Graham's website has all the slides and samples from the book as well as answers to the exercises. That said, it's highly recommended reading and you should consider it. &lt;/p&gt;
&lt;p&gt;The promotion code is &lt;b&gt;09HASK&lt;/b&gt; and it is vaild on both the Hardback:&lt;/p&gt;
&lt;p&gt;9780521871723 and Paperback: 9780521692694. The catalog pages are:&lt;/p&gt;
&lt;p&gt;Hardback:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521871723"&gt;http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521871723&lt;/a&gt; and the paperback is:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521692694"&gt;http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521692694&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note&lt;/b&gt;: This special offer is valid until &lt;b&gt;December 31, 2009&lt;/b&gt; &lt;/p&gt;&lt;img src="http://channel9.msdn.com/498918/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/</comments><link>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/</link><pubDate>Thu, 29 Oct 2009 17:31:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_2MB_ch9.wmv</guid><evnet:views>41889</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/498918/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>In &lt;strong&gt;Chapter 5&lt;/strong&gt;, Dr. Meijer introduces and digs into &lt;strong&gt;List Comprehensions&lt;/strong&gt;. In mathematics, comprehension notation is used to construct new sets from old sets. In Haskell, you can create new lists from old lists using a similar comprehension syntax:&lt;br /&gt;
&lt;br /&gt;
[x^2 | x &amp;lt;- [1..5]]&lt;br /&gt;
&lt;br /&gt;
The above notation represents the list [1,4,9,16,25] of all numbers x^2 such that x is an element of the list [1..5]. The &amp;lt;- [1..5] syntax is known as a &lt;strong&gt;generator&lt;/strong&gt; and list comprehensions can have mulitple generators that can have explicit dependencies on other generators. You will also learn about &lt;strong&gt;guards&lt;/strong&gt;, which restrict values created by earlier generators.</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_ch9.mp4" expression="full" duration="1916" fileSize="202842067" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_ch9.mp3" expression="full" duration="1916" fileSize="15334084" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_ch9.mp4" expression="full" duration="1916" fileSize="202842067" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_ch9.wma" expression="full" duration="1916" fileSize="15508615" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_ch9.wmv" expression="full" duration="1916" fileSize="285824351" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_2MB_ch9.wmv" expression="full" duration="1916" fileSize="746286796" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_Zune_ch9.wmv" expression="full" duration="1916" fileSize="210471181" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_512_ch9.png" expression="full" duration="1916" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5.ism/Manifest" expression="full" duration="1916" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_2MB_ch9.wmv" length="746286796" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>26</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/498918/Trackback.aspx</trackback:ping><category>C9 Lectures</category><category>Erik Meijer</category><category>Functional Programming</category><category>Haskell</category><category>Programming Languages</category></item><item><title>E2E: Erik Meijer and Don Box - Perspectives on SOAP, Programming Data and M</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_85_ch9.png" border="0" /&gt;&lt;a href="http://www.microsoft.com/presspass/exec/de/Box/default.mspx" target="_blank"&gt;Don Box&lt;/a&gt; is a Distinguished Engineer at Microsoft and has a rich history in the general purpose programming world. You remember SOAP, right? Don was one of the &lt;a href="http://en.wikipedia.org/wiki/SOAP#History" target="_blank"&gt;Gang of Four&lt;/a&gt; who designed SOAP. Don was also instrumental in the design and implementation of WCF. Don is currently building a new model-based data programming platform, code-named Oslo, along with a new language for describing data, M. &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://research.microsoft.com/en-us/um/people/emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt;, programming language and library designer, chats with Don about the history of SOAP, model-based programming, data and M. Don will be at &lt;a href="http://microsoftpdc.com" target="_blank"&gt;PDC09&lt;/a&gt; and in addition to giving his usual stellar performance as a session speaker, he will be part of the &lt;a href="http://microsoftpdc.com/Sessions/FT52" target="_blank"&gt;Future of Programming&lt;/a&gt; panel (a view into Microsoft's perspective on trends and possibilities for general purpose programming in the age of many-core and cloud computing).&lt;img src="http://channel9.msdn.com/502361/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Don-Box-Perspectives-on-SOAP-Programming-Data-and-M/</comments><link>http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Don-Box-Perspectives-on-SOAP-Programming-Data-and-M/</link><pubDate>Wed, 28 Oct 2009 16:52:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_2MB_ch9.wmv</guid><evnet:views>39081</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/502361/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;a href="http://www.microsoft.com/presspass/exec/de/Box/default.mspx" target="_blank"&gt;Don Box&lt;/a&gt; is a Distinguished Engineer at Microsoft and has a rich history in the general purpose programming world. You remember SOAP, right? Don was one of the &lt;a href="http://en.wikipedia.org/wiki/SOAP#History" target="_blank"&gt;Gang of Four&lt;/a&gt; who designed SOAP. Don was also instrumental in the design and implementation of WCF. Don is currently building a new model-based data programming platform, code-named Oslo, along with a new language for describing data, M. &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://research.microsoft.com/en-us/um/people/emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt;, programming language and library designer, chats with Don about the history of SOAP, model-based programming, data and M. Don will be at &lt;a href="http://microsoftpdc.com" target="_blank"&gt;PDC09&lt;/a&gt; and in addition to giving his usual stellar performance as a session speaker, he will be part of the &lt;a href="http://microsoftpdc.com/Sessions/FT52" target="_blank"&gt;Future of Programming&lt;/a&gt; panel (a view into Microsoft's perspective on trends and possibilities for general purpose programming in the age of many-core and cloud computing).</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_ch9.mp4" expression="full" duration="2678" fileSize="511995331" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_ch9.mp3" expression="full" duration="2678" fileSize="21430385" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_ch9.mp4" expression="full" duration="2678" fileSize="511995331" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_ch9.wma" expression="full" duration="2678" fileSize="21669819" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_ch9.wmv" expression="full" duration="2678" fileSize="592411019" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_2MB_ch9.wmv" expression="full" duration="2678" fileSize="839861505" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_Zune_ch9.wmv" expression="full" duration="2678" fileSize="571833415" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_512_ch9.png" expression="full" duration="2678" type="image/jpeg" medium="image" /><media:content url="http://mschannel9.vo.msecnd.net/ss1/ch9/1/6/3/2/0/5/E2EMeijerDonBox.ism/Manifest" expression="full" duration="2678" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/1/6/3/2/0/5/E2EMeijerDonBox_2MB_ch9.wmv" length="839861505" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>16</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/E2E-Erik-Meijer-and-Don-Box-Perspectives-on-SOAP-Programming-Data-and-M/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/502361/Trackback.aspx</trackback:ping><category>Don Box</category><category>Erik Meijer</category><category>Expert to Expert</category><category>M</category><category>Oslo</category><category>PDC09</category><category>Programming Languages</category><category>SOAP</category></item><item><title>C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals Chapter 4 of 13</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_85_ch9.png" border="0" /&gt;&lt;p&gt;We've kicked off &lt;a href="http://channel9.msdn.com/tags/C9+Lectures" target="_blank"&gt;C9 Lectures&lt;/a&gt; with a journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. &lt;a href="http://research.microsoft.com/~emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; (you can thank Erik for many of the functional constructs that have shown up in languages like C# and VB.NET. When you use LINQ, thank Erik in addition to Anders). &lt;br /&gt;
&lt;br /&gt;
We will release a new chapter in this series every Thursday.&lt;br /&gt;
&lt;br /&gt;
In &lt;strong&gt;Chapter 4&lt;/strong&gt;, Dr. Meijer teaches us about the art and practice of &lt;strong&gt;defining functions&lt;/strong&gt;. Functions can be defined using conditional expressions and in Haskell conditional expressions must &lt;em&gt;always&lt;/em&gt; have an else clause. Functions can also be defined using guarded equations and pattern matching. You will learn about list patterns and integer patterns. Today is also the day that you will learn about &lt;strong&gt;lambda expressions and sections.&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"&gt;&lt;b&gt;Chapter 1&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" target="_blank"&gt;&lt;b&gt;Chapter 2&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 3&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Now, we do have a textbook and you should go buy it: The great &lt;a href="http://www.cs.nott.ac.uk/~gmh/" target="_blank"&gt;Graham Hutton's&lt;/a&gt; &lt;a href="http://www.cs.nott.ac.uk/~gmh/book.html" target="_blank"&gt;Programming in Haskell&lt;/a&gt;. We worked with the publisher, Cambridge University Press, to get all Niners a &lt;b&gt;20%&lt;/b&gt; discount on the book. Now, you don't need the book to learn a great deal from this lecture series since Graham's website has all the slides and samples from the book as well as answers to the exercises. That said, it's highly recommended reading and you should consider it. &lt;/p&gt;
&lt;p&gt;The promotion code is &lt;b&gt;09HASK&lt;/b&gt; and it is vaild on both the Hardback:&lt;/p&gt;
&lt;p&gt;9780521871723 and Paperback: 9780521692694. The catalog pages are:&lt;/p&gt;
&lt;p&gt;Hardback:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521871723"&gt;http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521871723&lt;/a&gt; and the paperback is:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521692694"&gt;http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521692694&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note&lt;/b&gt;: This special offer is valid until &lt;b&gt;December 31, 2009&lt;/b&gt; &lt;/p&gt;&lt;img src="http://channel9.msdn.com/498917/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/</comments><link>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/</link><pubDate>Thu, 22 Oct 2009 18:34:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_2MB_ch9.wmv</guid><evnet:views>46407</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/498917/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>In &lt;strong&gt;Chapter 4&lt;/strong&gt;, Dr. Meijer teaches us about the art and practice of &lt;strong&gt;defining functions&lt;/strong&gt;. Functions can be defined using conditional expressions and in Haskell conditional expressions must &lt;em&gt;always&lt;/em&gt; have an else clause. Functions can also be defined using guarded equations and pattern matching. You will learn about list patterns and integer patterns. Today is also the day that you will learn about &lt;strong&gt;lambda expressions and sections.&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"&gt;&lt;b&gt;Chapter 1&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" target="_blank"&gt;&lt;b&gt;Chapter 2&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" target="_blank"&gt;&lt;strong&gt;Chapter 3&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_ch9.mp4" expression="full" duration="3659" fileSize="473919571" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_ch9.mp3" expression="full" duration="3659" fileSize="29280546" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_ch9.mp4" expression="full" duration="3659" fileSize="473919571" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_ch9.wma" expression="full" duration="3659" fileSize="29603383" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_ch9.wmv" expression="full" duration="3659" fileSize="631512753" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_2MB_ch9.wmv" expression="full" duration="3659" fileSize="736545601" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_Zune_ch9.wmv" expression="full" duration="3659" fileSize="369155968" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_512_ch9.png" expression="full" duration="3659" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4.ism/Manifest" expression="full" duration="3659" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_2MB_ch9.wmv" length="736545601" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>27</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/498917/Trackback.aspx</trackback:ping><category>C9 Lectures</category><category>Erik Meijer</category><category>Functional Programming</category><category>Programming Languages</category></item><item><title>C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals, Chapter 3 of 13</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_85_ch9.png" border="0" /&gt;We've kicked off &lt;a href="http://channel9.msdn.com/tags/C9+Lectures" target="_blank"&gt;C9 Lectures&lt;/a&gt; with a journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. &lt;a href="http://research.microsoft.com/~emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; (you can thank Erik for many of the functional constructs that have shown up in languages like C# and VB.NET. When you use LINQ, thank Erik in addition to Anders). &lt;br /&gt;
&lt;br /&gt;
We will release a new chapter in this series every Thursday.&lt;br /&gt;
&lt;br /&gt;
In Chapter 3, Dr. Meijer explores &lt;strong&gt;types and classes in Haskell&lt;/strong&gt;. A type is a collection of related values and in Haskell every well-formed expression has a type. Using type inference, these types are automatically calculated at run time. If expression e returns a type t, then e is of type t, e :: t. A function is a mapping of one type to another type and you will learn about new types of functions in this lecture, specifically curried functions: functions that return functions as a result (and functions are values, remember) and polymorphic functions (function with a type that contains one or more type variables).&lt;br /&gt;
&lt;br /&gt;
You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"&gt;&lt;b&gt;Chapter 1&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" target="_blank"&gt;&lt;strong&gt;Chapter 2&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Now, we do have a textbook and you should go buy it: The great &lt;a href="http://www.cs.nott.ac.uk/~gmh/" target="_blank"&gt;Graham Hutton's&lt;/a&gt; &lt;a href="http://www.cs.nott.ac.uk/~gmh/book.html" target="_blank"&gt;Programming in Haskell&lt;/a&gt;. We worked with the publisher, Cambridge University Press, to get all Niners a &lt;b&gt;20%&lt;/b&gt; discount on the book. Now, you don't need the book to learn a great deal from this lecture series since Graham's website has all the slides and samples from the book as well as answers to the exercises. That said, it's highly recommended reading and you should consider it.
&lt;p&gt;The promotion code is &lt;b&gt;09HASK&lt;/b&gt; and it is vaild on both the Hardback:&lt;/p&gt;
&lt;p&gt;9780521871723 and Paperback: 9780521692694. The catalog pages are:&lt;/p&gt;
&lt;p&gt;Hardback:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521871723"&gt;http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521871723&lt;/a&gt; and the paperback is:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521692694"&gt;http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521692694&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note&lt;/b&gt;: This special offer is valid until &lt;b&gt;December 31, 2009&lt;/b&gt; &lt;/p&gt;&lt;img src="http://channel9.msdn.com/495716/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/</comments><link>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/</link><pubDate>Thu, 15 Oct 2009 15:46:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_2MB_ch9.wmv</guid><evnet:views>43101</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/495716/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>We've kicked off &lt;a href="http://channel9.msdn.com/tags/C9+Lectures" target="_blank"&gt;C9 Lectures&lt;/a&gt; with a journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. &lt;a href="http://research.microsoft.com/~emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; (you can thank Erik for many of the functional constructs that have shown up in languages like C# and VB.NET. When you use LINQ, thank Erik in addition to Anders). &lt;br /&gt;
&lt;br /&gt;
In Chapter 3, Dr. Meijer explores &lt;strong&gt;types and classes in Haskell&lt;/strong&gt;. A type is a collection of related values and in Haskell every well-formed expression has a type. Using type inference, these types are automatically calculated at run time. If expression e returns a type t, then e is of type t, e :: t. A function is a mapping of one type to another type and you will learn about new types of functions in this lecture, specifically curried functions: functions that return functions as a result (and functions are values, remember) and polymorphic functions (function with a type that contains one or more type variables).</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_ch9.mp4" expression="full" duration="2610" fileSize="226808433" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_ch9.mp3" expression="full" duration="2610" fileSize="20886465" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_ch9.mp4" expression="full" duration="2610" fileSize="226808433" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_ch9.wma" expression="full" duration="2610" fileSize="21120093" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_ch9.wmv" expression="full" duration="2610" fileSize="322202073" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_2MB_ch9.wmv" expression="full" duration="2610" fileSize="525368335" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_Zune_ch9.wmv" expression="full" duration="2610" fileSize="176714053" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_512_ch9.png" expression="full" duration="2610" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3.ism/Manifest" expression="full" duration="2610" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_2MB_ch9.wmv" length="525368335" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>53</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/495716/Trackback.aspx</trackback:ping><category>C9 Lectures</category><category>Erik Meijer</category><category>Functional Programming</category><category>Haskell</category><category>Programming Languages</category></item><item><title>Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_85_ch9.png" border="0" /&gt;&lt;a href="http://clojure.org/" target="_blank"&gt;Clojure&lt;/a&gt; is a dynamic programming language created by Rich Hickey that targets both the Java Virtual Machine and the CLR. It is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic. Every feature supported by Clojure is supported at runtime. Clojure provides easy access to the Java frameworks, with optional type hints and type inference, to ensure that calls to Java can avoid reflection.&lt;br /&gt;
&lt;br /&gt;
Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. Clojure is predominantly a functional programming language, and features a rich set of immutable, persistent data structures. When mutable state is needed, Clojure offers a software transactional memory system and reactive Agent system that ensure clean, correct, multithreaded designs.&lt;br /&gt;
&lt;br /&gt;
Astrophysicist and Software Architect Brian Beckman interviews Rich Hickey to dig into the details of this very interesting language. If you don't know much about Clojure and the general problems it aims to solve, well, watch and listen carefully to this great conversation with plenty of whiteboarding and outstanding questions. Expert to Expert simply rocks! Thank you for spending time with us, Rich! Clojure is great!&lt;br /&gt;&lt;img src="http://channel9.msdn.com/492048/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Rich-Hickey-and-Brian-Beckman-Inside-Clojure/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Rich-Hickey-and-Brian-Beckman-Inside-Clojure/</link><pubDate>Tue, 06 Oct 2009 17:29:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_2MB_ch9.wmv</guid><evnet:views>56342</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/492048/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;a href="http://clojure.org/" target="_blank"&gt;Clojure&lt;/a&gt; is a dynamic programming language created by Rich Hickey that targets both the Java Virtual Machine and the CLR. It is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic. Every feature supported by Clojure is supported at runtime. Clojure provides easy access to the Java frameworks, with optional type hints and type inference, to ensure that calls to Java can avoid reflection.&lt;br /&gt;
&lt;br /&gt;
Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. Clojure is predominantly a functional programming language, and features a rich set of immutable, persistent data structures. When mutable state is needed, Clojure offers a software transactional memory system and reactive Agent system that ensure clean, correct, multithreaded designs.&lt;br /&gt;
&lt;br /&gt;
Astrophysicist and Software Architect Brian Beckman interviews Rich Hickey to dig into the details of this very interesting language. If you don't know much about Clojure and the general problems it aims to solve, well, watch and listen carefully to this great conversation with plenty of whiteboarding and outstanding questions. Expert to Expert simply rocks! Thank you for spending time with us, Rich! Clojure is great!&lt;br /&gt;</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_ch9.mp4" expression="full" duration="3236" fileSize="258485130" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_ch9.mp3" expression="full" duration="3236" fileSize="25891472" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_ch9.mp4" expression="full" duration="3236" fileSize="258485130" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_ch9.wma" expression="full" duration="3236" fileSize="26178829" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_ch9.wmv" expression="full" duration="3236" fileSize="551330889" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_2MB_ch9.wmv" expression="full" duration="3236" fileSize="651182901" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_Zune_ch9.wmv" expression="full" duration="3236" fileSize="298866817" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_512_ch9.png" expression="full" duration="3236" type="image/jpeg" medium="image" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/8/4/0/2/9/4/E2EBeckmanHickeyClojure_2MB_ch9.wmv" length="651182901" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>24</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Rich-Hickey-and-Brian-Beckman-Inside-Clojure/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/492048/Trackback.aspx</trackback:ping><category>Brian Beckman</category><category>Clojure</category><category>Dynamic Languages</category><category>Expert to Expert</category><category>JVM</category><category>Programming</category><category>Programming Languages</category></item><item><title>C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals, Chapter 1 of 13</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_85_ch9.png" border="0" /&gt;&lt;p&gt;Welcome to a new technical series on Channel 9 folded into a different kind of 9 format: &lt;i&gt;C9 Lectures. &lt;/i&gt;These are what you think they are, lectures. They are not conversational in nature (like most of what you're used to on 9), but rather these pieces are entirely focused on education, coming to you in the form of a series of high quality technical lectures (1 or more per topic) on a single topic.&lt;br /&gt;
&lt;br /&gt;
We kick off C9 Lectures with a journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. &lt;a href="http://research.microsoft.com/~emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; (you can thank Erik for many of the functional constructs that have shown up in languages like C# and VB.NET. When you use LINQ, thank Erik in addition to Anders). &lt;br /&gt;
&lt;br /&gt;
Lecture Context:&lt;br /&gt;
&lt;br /&gt;
Over the past two years, you've learned a fair amount about the functional programming paradigm's foray into general purpose imperative progamming languages (LINQ, Lambda's, etc in C# and VB.NET). And, of course, the newest language to join the Visual Studio family of languages, F#, &lt;em&gt;is&lt;/em&gt; a functional language. You've heard us say how important functional language constructs are to the our current languages' capabilities to evolve in the right direction to meet the needs of the many-core future (the need for reliable and comprehensible concurrency, parallelism, etc) and,&lt;em&gt; most importantly&lt;/em&gt;, to help vault computer programming into an age of compositionality (remember our talks on 9 regarding composability and evolution of software engineering as an engineering discipline?). Well, we decided to take a step back and teach you the &lt;em&gt;fundamentals&lt;/em&gt; of functional programming at a level equivalent to any university. We even have a text book and professor who will expand our minds. &lt;br /&gt;
&lt;br /&gt;
Dr. Erik Meijer will teach us Functional Programming Fundamentals using Haskell as the language for understanding the basic functional principles (in fact, the specific language isn't all that important, but Haskell is a pure functional language so it is entirely appropriate for learning the essential ingredients of functional programming. It is also a relatively small language and should be easy for you to get up to speed with Haskell once you understand the Why, What and How that underlies all functional languages...).&lt;br /&gt;
&lt;br /&gt;
Now, we do have a textbook and you should go buy it: The great &lt;a href="http://www.cs.nott.ac.uk/~gmh/" target="_blank"&gt;Graham Hutton's&lt;/a&gt; &lt;a href="http://www.cs.nott.ac.uk/~gmh/book.html" target="_blank"&gt;Programming in Haskell&lt;/a&gt;. We worked with the publisher, Cambridge University Press, to get all Niners a &lt;strong&gt;20%&lt;/strong&gt; discount on the book. Now, you don't need the book to learn a great deal from this lecture series since Graham's website has all the slides and samples from the book as well as answers to the exercises. That said, it's highly recommended reading and you should consider it.&lt;/p&gt;
&lt;p&gt;The promotion code is &lt;strong&gt;09HASK&lt;/strong&gt; and it is vaild on both the Hardback and Paperback.&lt;/p&gt;
&lt;p&gt;Hardback:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521871723"&gt;http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521871723&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
Paperback:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521692694"&gt;http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521692694&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Note&lt;/strong&gt;: This special offer is valid until &lt;strong&gt;December 31, 2009&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;In Chapter 1, Dr. Meijer takes us through the fundamental fundamentals of functional programming: The philosophy and history of functional programming. As you can imagine, these lectures will go deeper and deeper as the chapters progress, but you need to understand the philosophical and historical contexts. This will provide a nice layer of fresh conceptual soil in which to plant the seeds of understanding the technical details of functional programming, of functional reasoning.&lt;br /&gt;
&lt;br /&gt;
Welcome to C9 Lectures. Enjoy and learn, learn, learn.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;ALWAYS&lt;/strong&gt; ask questions right here. Erik will answer them. Remember, he is professor Erik Meijer in this context and professors answer the questions of their students. Thank you, Erik, for doing this!&lt;br /&gt;
&lt;br /&gt;
Welcome to C9 Lectures!&lt;/p&gt;&lt;img src="http://channel9.msdn.com/494397/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/</link><pubDate>Thu, 01 Oct 2009 15:50:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_2MB_ch9.wmv</guid><evnet:views>80586</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/494397/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Welcome to a new technical series on Channel 9 folded into a different kind of 9 format: C9 Lectures. These are what you think they are, lectures. They are not conversational in nature (like most of what you're used to on 9), but rather these pieces are entirely focused on education, coming to you in the form of a series of high quality technical lectures (1 or more per topic) on a single topic.&lt;br /&gt;
&lt;br /&gt;
We kick off C9 Lectures with a journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. &lt;a href="http://research.microsoft.com/~emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; (you can thank Erik for many of the functional constructs that have shown up in languages like C# and VB.NET. When you use LINQ, thank Erik in addition to Anders).</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_ch9.mp4" expression="full" duration="1897" fileSize="230905860" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_ch9.mp3" expression="full" duration="1897" fileSize="15180681" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_ch9.mp4" expression="full" duration="1897" fileSize="230905860" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_ch9.wma" expression="full" duration="1897" fileSize="15349403" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_ch9.wmv" expression="full" duration="1897" fileSize="316768137" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_2MB_ch9.wmv" expression="full" duration="1897" fileSize="381931312" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_Zune_ch9.wmv" expression="full" duration="1897" fileSize="176752065" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_512_ch9.png" expression="full" duration="1897" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1.ism/Manifest" expression="full" duration="1897" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_2MB_ch9.wmv" length="381931312" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>87</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/494397/Trackback.aspx</trackback:ping><category>C9 Lectures</category><category>Erik Meijer</category><category>Functional Programming</category><category>Haskell</category><category>Programming Languages</category></item><item><title>Andrew Kennedy: F# Units of Measure</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/4/5/7/8/8/4/AndrewKennedyUnitsOfMeasure_85_ch9.png" border="0" /&gt;Floating point values in F# can have associated &lt;a href="http://msdn.microsoft.com/en-us/library/dd233243(VS.100).aspx" target="_blank"&gt;units of measure&lt;/a&gt;, which are typically used to indicate length, volume, mass, and so on. The built-in type float takes an optional unit-of-measure parameter, written in angle brackets, in a similar way that types such as IEnumerable take a &lt;i&gt;type&lt;/i&gt; parameter, as in IEnumerable&amp;lt;int&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
By using quantities with units, you enable the compiler to verify that arithmetic relationships have the correct units, which helps prevent programming errors like the one that led to NASA's Mars Climate Orbiter being &lt;a href="http://www.cnn.com/TECH/space/9909/30/mars.metric.02/"&gt;lost&lt;/a&gt; in September 1999. This was due to confusion between &lt;a href="http://en.wikipedia.org/wiki/Metric_system"&gt;metric&lt;/a&gt; and so-called "&lt;a href="http://en.wikipedia.org/wiki/English_unit"&gt;English&lt;/a&gt;" &lt;a href="http://en.wikipedia.org/wiki/Units_of_measurement"&gt;units of measurement&lt;/a&gt;.  The accident could have been prevented if the NASA engineers had been able to annotate their program code with units, and then employed static analysis tools or language-level type-checking to detect and fix any unit errors.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://research.microsoft.com/um/people/akenn/" target="_blank"&gt;Andrew Kennedy&lt;/a&gt; is an MSR research scientist who implemented units of measure for F#. What did this involve? How does it work, exactly? What's next? Meet Andrew and learn all about F#'s latest language feature, units of measure.&lt;br /&gt;
&lt;br /&gt;
Enjoy. &lt;br /&gt;
&lt;br /&gt;
Information sources: &lt;a href="http://msdn.com"&gt;http://msdn.com&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/andrewkennedy/"&gt;http://blogs.msdn.com/andrewkennedy/&lt;/a&gt;&lt;img src="http://channel9.msdn.com/488754/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Andrew-Kennedy-F-Units-of-Measure/</comments><link>http://channel9.msdn.com/posts/Charles/Andrew-Kennedy-F-Units-of-Measure/</link><pubDate>Tue, 22 Sep 2009 21:00:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/4/5/7/8/8/4/AndrewKennedyUnitsOfMeasure_2MB_ch9.wmv</guid><evnet:views>31989</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/488754/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Floating point values in F# can have associated &lt;a href="http://msdn.microsoft.com/en-us/library/dd233243(VS.100).aspx" target="_blank"&gt;units of measure&lt;/a&gt;, which are typically used to indicate length, volume, mass, and so on. The built-in type float takes an optional unit-of-measure parameter, written in angle brackets, in a similar way that types such as IEnumerable take a &lt;i&gt;type&lt;/i&gt; parameter, as in IEnumerable&amp;lt;int&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
By using quantities with units, you enable the compiler to verify that arithmetic relationships have the correct units, which helps prevent programming errors like the one that led to NASA's Mars Climate Orbiter being &lt;a href="http://www.cnn.com/TECH/space/9909/30/mars.metric.02/"&gt;lost&lt;/a&gt; in September 1999. This was due to confusion between &lt;a href="http://en.wikipedia.org/wiki/Metric_system"&gt;metric&lt;/a&gt; and so-called "&lt;a href="http://en.wikipedia.org/wiki/English_unit"&gt;English&lt;/a&gt;" &lt;a href="http://en.wikipedia.org/wiki/Units_of_measurement"&gt;units of measurement&lt;/a&gt;. The accident could have been prevented if the NASA engineers had been able to annotate their program code with units, and then employed static analysis tools or language-level type-checking to detect and fix any unit errors.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://research.microsoft.com/um/people/akenn/" target="_blank"&gt;Andrew Kennedy&lt;/a&gt; is an MSR research scientist who implemented units of measure for F#. What did this involve? How does it work, exactly? What's next? Meet Andrew and learn all about F#'s latest language feature, units of measure.&lt;br /&gt;
&lt;br /&gt;
Enjoy.</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/4/5/7/8/8/4/AndrewKennedyUnitsOfMeasure_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/4/5/7/8/8/4/AndrewKennedyUnitsOfMeasure_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/4/5/7/8/8/4/AndrewKennedyUnitsOfMeasure_ch9.mp4" expression="full" duration="1964" fileSize="109747917" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/4/5/7/8/8/4/AndrewKennedyUnitsOfMeasure_ch9.mp3" expression="full" duration="1964" fileSize="15717677" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/4/5/7/8/8/4/AndrewKennedyUnitsOfMeasure_ch9.mp4" expression="full" duration="1964" fileSize="109747917" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/4/5/7/8/8/4/AndrewKennedyUnitsOfMeasure_ch9.wma" expression="full" duration="1964" fileSize="15896131" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/4/5/7/8/8/4/AndrewKennedyUnitsOfMeasure_ch9.wmv" expression="full" duration="1964" fileSize="236209075" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/4/5/7/8/8/4/AndrewKennedyUnitsOfMeasure_2MB_ch9.wmv" expression="full" duration="1964" fileSize="395203764" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/4/5/7/8/8/4/AndrewKennedyUnitsOfMeasure_Zune_ch9.wmv" expression="full" duration="1964" fileSize="129665003" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/4/5/7/8/8/4/AndrewKennedyUnitsOfMeasure_512_ch9.png" expression="full" duration="1964" type="image/jpeg" medium="image" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/4/5/7/8/8/4/AndrewKennedyUnitsOfMeasure_2MB_ch9.wmv" length="395203764" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>16</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Andrew-Kennedy-F-Units-of-Measure/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/488754/Trackback.aspx</trackback:ping><category>FSharp</category><category>MSR</category><category>Programming</category><category>Programming Languages</category><category>Units of Measure</category></item><item><title>C# 4.0 Dynamic  with Chris Burrows and Sam Ng</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/0/1/5/3/9/4/DynamicCSharpFourOh_85_ch9.png" border="0" /&gt;&lt;p&gt;In this video Microsoft developers Sam Ng and Chris Burrows discuss the new Dynamic feature that is part of the next version of C#. This feature provides enhanced interoperation with dynamic languages such as Ruby and Python, with dynamic models such as Silverlight JavaScript, and with COM objects, particularly those that you find in the Office APIs. With the addition of Dynamic to C# 4.0, it is now much easier to access Microsoft Office APIs from C#. Sam and Chris are both developers on the C# compiler team and both helped design the implementation of Dynamic found in C# 4.0.&lt;/p&gt;&lt;img src="http://channel9.msdn.com/493510/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/CharlieCalvert/CSharp-4-Dynamic-with-Chris-Burrows-and-Sam-Ng/</comments><link>http://channel9.msdn.com/posts/CharlieCalvert/CSharp-4-Dynamic-with-Chris-Burrows-and-Sam-Ng/</link><pubDate>Tue, 22 Sep 2009 19:10:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/0/1/5/3/9/4/DynamicCSharpFourOh_2MB_ch9.wmv</guid><evnet:views>29731</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/493510/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Learn how the Dynamic feature in C# 4.0 gives developers enhanced access to the Microsoft Office APIs and to dynamic languages such as Ruby, Python and Javascript/Silverlight.</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/0/1/5/3/9/4/DynamicCSharpFourOh_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/0/1/5/3/9/4/DynamicCSharpFourOh_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/0/1/5/3/9/4/DynamicCSharpFourOh_ch9.mp4" expression="full" duration="2517" fileSize="173585686" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/0/1/5/3/9/4/DynamicCSharpFourOh_ch9.mp3" expression="full" duration="2517" fileSize="20142221" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/0/1/5/3/9/4/DynamicCSharpFourOh_ch9.mp4" expression="full" duration="2517" fileSize="173585686" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/0/1/5/3/9/4/DynamicCSharpFourOh_ch9.wma" expression="full" duration="2517" fileSize="20369087" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/0/1/5/3/9/4/DynamicCSharpFourOh_ch9.wmv" expression="full" duration="2517" fileSize="362792817" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/0/1/5/3/9/4/DynamicCSharpFourOh_2MB_ch9.wmv" expression="full" duration="2517" fileSize="393260897" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/0/1/5/3/9/4/DynamicCSharpFourOh_Zune_ch9.wmv" expression="full" duration="2517" fileSize="196968745" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/0/1/5/3/9/4/DynamicCSharpFourOh_512_ch9.png" expression="full" duration="2517" type="image/jpeg" medium="image" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/0/1/5/3/9/4/DynamicCSharpFourOh_2MB_ch9.wmv" length="393260897" type="video/x-ms-wmv" /><dc:creator>Charlie Calvert</dc:creator><slash:comments>10</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/CharlieCalvert/CSharp-4-Dynamic-with-Chris-Burrows-and-Sam-Ng/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/493510/Trackback.aspx</trackback:ping><category>CSharp 4.0</category><category>Programming Languages</category></item><item><title>Peter Villadsen and Gustavo Plancarte: X++ to MSIL</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_85_ch9.png" border="0" /&gt;Dynamics Program Manager Peter Villadsen and Software Developer Gustavo Plancarte teach us about a new tool they've developed that translates X++ byte code into MSIL. We learn a lot of history along the way and gain insights into the process of taking X++ into the .NET age.&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;Microsoft Dynamics features a proprietary language called X++ (basically a superset of Java, with some strong data primitives added) and a complete stack (compiler, interpreter and debugger) that goes with it. The new feature Peter and team have developed is a tool to generate managed code from the X++ intermediate language produced by the X++ compiler. This will have profound impact on the performance of the business applications written in X++, and it very clearly points to where they'll be going in the next few releases of Dynamics Ax.&lt;br /&gt;
&lt;br /&gt;
Tune in.&lt;/p&gt;&lt;img src="http://channel9.msdn.com/488755/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Peter-Villadsen-and-Gustavo-Plancarte-Inside-Ax-Translator-X-to-MSIL/</comments><link>http://channel9.msdn.com/posts/Charles/Peter-Villadsen-and-Gustavo-Plancarte-Inside-Ax-Translator-X-to-MSIL/</link><pubDate>Tue, 01 Sep 2009 16:27:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_2MB_ch9.wmv</guid><evnet:views>46804</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/488755/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Dynamics Program Manager Peter Villadsen and Software Developer Gustavo Plancarte teach us about a new tool they've developed that translates X++ byte code into MSIL. We learn a lot of history along the way and gain insights into the process of taking X++ into the .NET age.&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;Microsoft Dynamics features a proprietary language called X++ (basically a superset of Java, with some strong data primitives added) and a complete stack (compiler, interpreter and debugger) that goes with it. The new feature Peter and team have developed is a tool to generate managed code from the X++ intermediate language produced by the X++ compiler. This will have profound impact on the performance of the business applications written in X++, and it very clearly points to where they'll be going in the next few releases of Dynamics Ax.&lt;br /&gt;
&lt;br /&gt;
Tune in.&lt;/p&gt;</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_ch9.mp4" expression="full" duration="1847" fileSize="123252659" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_ch9.mp3" expression="full" duration="1847" fileSize="14780479" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_ch9.mp4" expression="full" duration="1847" fileSize="123252659" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_ch9.wma" expression="full" duration="1847" fileSize="14946873" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_ch9.wmv" expression="full" duration="1847" fileSize="267695443" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_2MB_ch9.wmv" expression="full" duration="1847" fileSize="371674455" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_Zune_ch9.wmv" expression="full" duration="1847" fileSize="143903371" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_512_ch9.png" expression="full" duration="1847" type="image/jpeg" medium="image" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_2MB_ch9.wmv" length="371674455" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>7</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Peter-Villadsen-and-Gustavo-Plancarte-Inside-Ax-Translator-X-to-MSIL/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/488755/Trackback.aspx</trackback:ping><category>Architecture</category><category>Compilers</category><category>Dynamics AX</category><category>Programming Languages</category><category>X++</category></item><item><title>Expert to Expert: Web Programming, JavaScript with Types and Flapjax</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_small_ch9.png" border="0" /&gt;&lt;p&gt;&lt;a href="http://www.flapjax-lang.org/" target="_blank"&gt;&lt;em&gt;Flapjax&lt;/em&gt;&lt;/a&gt;&lt;em&gt; is a new programming language designed around the demands of modern, client-based Web applications. Its principal features include: &lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;em&gt;Event-driven, reactive evaluation &lt;/em&gt;&lt;/li&gt;
    &lt;li&gt;&lt;em&gt;An event-stream abstraction for communicating with web services &lt;/em&gt;&lt;/li&gt;
    &lt;li&gt;&lt;em&gt;Interfaces to external web services &lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Flapjax is easy to learn: it is just a JavaScript framework. Furthermore, because Flapjax is built entirely atop JavaScript, it runs on traditional Web browsers without the need for plug-ins or other downloads. It integrates seamlessly with existing JavaScript code and other frameworks. [Source = &lt;/em&gt;&lt;a href="http://www.flapjax-lang.org/"&gt;&lt;em&gt;http://www.flapjax-lang.org/&lt;/em&gt;&lt;/a&gt;&lt;em&gt;]&lt;br /&gt;
&lt;br /&gt;
&lt;/em&gt;&lt;a href="http://www.cs.brown.edu/~sk/" target="_blank"&gt;Shriram Krishnamurthi&lt;/a&gt; is one of the authors of Flapjax and was in town recently giving a series of lectures to fellow programming language researchers in MSR. Shriram is a professor of computer science at Brown University. Expert to Expert host and programming language designer Erik Meijer is also doing some interesting things with event driven reactivity (you'll learn all about this soon...) so the two language guys just had to chat and we had to film it. Tune in to see what happened in Erik's office over the course of an hour or so. A fair amount of time is spent discussing the reasoning behind and benefits of adding types to a language like JavaScript. It's an interesting idea, but what does it mean for web developers (who, potentially, adopted JavaScript for its wide open and highly dynamic characteristics in the first place).&lt;br /&gt;
&lt;br /&gt;
As usual, there's no editing here. It's as though you just came along and watched the magic unfold. Much thanks to Shriram for taking the time to chat with us. Flapjax is impressive. Do give it a try, Niners.&lt;/p&gt;&lt;img src="http://channel9.msdn.com/474049/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Web-Programming-with-Flapjax/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Web-Programming-with-Flapjax/</link><pubDate>Tue, 23 Jun 2009 18:21:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_2MB_ch9.wmv</guid><evnet:views>55747</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/474049/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;p&gt;&lt;a href="http://www.flapjax-lang.org/" target="_blank"&gt;&lt;em&gt;Flapjax&lt;/em&gt;&lt;/a&gt;&lt;em&gt; is a new programming language designed around the demands of modern, client-based Web applications. Its principal features include: &lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;em&gt;Event-driven, reactive evaluation &lt;/em&gt;&lt;/li&gt;
    &lt;li&gt;&lt;em&gt;An event-stream abstraction for communicating with web services &lt;/em&gt;&lt;/li&gt;
    &lt;li&gt;&lt;em&gt;Interfaces to external web services &lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Flapjax is easy to learn: it is just a JavaScript framework. Furthermore, because Flapjax is built entirely atop JavaScript, it runs on traditional Web browsers without the need for plug-ins or other downloads. It integrates seamlessly with existing JavaScript code and other frameworks. [Source = &lt;/em&gt;&lt;a href="http://www.flapjax-lang.org/"&gt;&lt;em&gt;http://www.flapjax-lang.org/&lt;/em&gt;&lt;/a&gt;&lt;em&gt;]&lt;br /&gt;
&lt;br /&gt;
&lt;/em&gt;&lt;a href="http://www.cs.brown.edu/~sk/" target="_blank"&gt;Shriram Krishnamurthi&lt;/a&gt; is one of the authors of Flapjax and was in town recently giving a series of lectures to fellow programming language researchers in MSR. Shriram is a professor of computer science at Brown University. Expert to Expert host and programming language designer Erik Meijer is also doing some interesting things with event driven reactivity (you'll learn all about this soon...) so the two language guys just had to chat and we had to film it. Tune in to see what happened in Erik's office over the course of an hour or so. A fair amount of time is spent discussing the reasoning behind and benefits of adding types to a language like JavaScript. It's an interesting idea, but what does it mean for web developers (who, potentially, adopted JavaScript for its wide open and highly dynamic characteristics in the first place).&lt;br /&gt;
&lt;br /&gt;
As usual, there's no editing here. It's as though you just came along and watched the magic unfold. Much thanks to Shriram for taking the time to chat with us. Flapjax is impressive. Do give it a try, Niners.&lt;/p&gt;</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_ch9.mp4" expression="full" duration="4344" fileSize="428587390" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_ch9.mp3" expression="full" duration="4344" fileSize="34756382" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_ch9.mp4" expression="full" duration="4344" fileSize="428587390" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_ch9.wma" expression="full" duration="4344" fileSize="70274557" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_ch9.wmv" expression="full" duration="4344" fileSize="608335507" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_2MB_ch9.wmv" expression="full" duration="4344" fileSize="1657936109" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_Zune_ch9.wmv" expression="full" duration="4344" fileSize="613391487" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_2MB_ch9.wmv" length="1657936109" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>16</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Web-Programming-with-Flapjax/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/474049/Trackback.aspx</trackback:ping><category>Erik Meijer</category><category>Expert to Expert</category><category>Flapjax</category><category>Javascript</category><category>Programming</category><category>Programming Languages</category></item><item><title>Jimmy Schementi: Inside IronRuby</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/4/8/0/2/7/4/InsideIronRuby_small_ch9.png" border="0" /&gt;&lt;p&gt;Jimmy Schementi is a Program Manager (and developer) on the IronRuby team. IronRuby is an &lt;a href="http://www.opensource.org/licenses/ms-pl.html" title="http://www.opensource.org/licenses/ms-pl.html" class="external" target="_blank" rel="external nofollow"&gt;Open Source&lt;/a&gt; implementation of the &lt;a href="http://www.ruby-lang.org" title="http://www.ruby-lang.org/" class="external" target="_blank" rel="external nofollow"&gt;Ruby programming language&lt;/a&gt; for &lt;a href="http://www.microsoft.com/NET/" title="http://www.microsoft.com/NET/" class="external" target="_blank" rel="external nofollow"&gt;.NET&lt;/a&gt;, heavily relying on Microsoft's &lt;a href="http://codeplex.com/dlr" title="http://codeplex.com/dlr" class="external" target="_blank" rel="external nofollow"&gt;Dynamic Language Runtime&lt;/a&gt;. IronRuby &lt;em&gt;is&lt;/em&gt; Ruby, but implemented on top of the DLR (which of course provides the capability for dynamic languages to interact with the BCL and CLR). &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/John-Lam-and-Martin-Maly-Deep-DLR/" target="_blank"&gt;You've learned about the details of the DLR here on 9&lt;/a&gt;, which provides dynamic runtime support for .NET. IronRuby targets compatibility with the 1.8.x branch of Ruby modulo continuations. IronRuby is an implementation of Ruby version 1.8.6.&lt;br /&gt;
&lt;br /&gt;
Here, Jimmy explains the thinking behind the IronRuby project. Why are we doing this, anyway? When/Why would Ruby developers use IronRuby? What's the current status of the project? What's the future hold for IronRuby? Tune in and learn about the past, present and future of IronRuby.&lt;br /&gt;
&lt;br /&gt;
Useful Links:&lt;br /&gt;
&lt;br /&gt;
IronRuby Homepage: &lt;a href="http://ironruby.net/"&gt;http://ironruby.net/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;CodePlex project (downloads, issue tracking): &lt;a href="http://ironruby.codeplex.com/"&gt;http://ironruby.codeplex.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Developer info (source code, developer docs): &lt;a href="http://github.com/ironruby"&gt;http://github.com/ironruby&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/472084/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Jimmy-Schementi-Inside-IronRuby/</comments><link>http://channel9.msdn.com/posts/Charles/Jimmy-Schementi-Inside-IronRuby/</link><pubDate>Wed, 10 Jun 2009 21:31:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/4/8/0/2/7/4/InsideIronRuby_2MB_ch9.wmv</guid><evnet:views>34960</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/472084/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;p&gt;Jimmy Schementi is a Program Manager (and developer) on the IronRuby team. IronRuby is an &lt;a href="http://www.opensource.org/licenses/ms-pl.html" title="http://www.opensource.org/licenses/ms-pl.html" class="external" target="_blank" rel="external nofollow"&gt;Open Source&lt;/a&gt; implementation of the &lt;a href="http://www.ruby-lang.org" title="http://www.ruby-lang.org/" class="external" target="_blank" rel="external nofollow"&gt;Ruby programming language&lt;/a&gt; for &lt;a href="http://www.microsoft.com/NET/" title="http://www.microsoft.com/NET/" class="external" target="_blank" rel="external nofollow"&gt;.NET&lt;/a&gt;, heavily relying on Microsoft's &lt;a href="http://codeplex.com/dlr" title="http://codeplex.com/dlr" class="external" target="_blank" rel="external nofollow"&gt;Dynamic Language Runtime&lt;/a&gt;. IronRuby &lt;em&gt;is&lt;/em&gt; Ruby, but implemented on top of the DLR (which of course provides the capability for dynamic languages to interact with the BCL and CLR). &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://channel9.msdn.com/shows/Going+Deep/John-Lam-and-Martin-Maly-Deep-DLR/" target="_blank"&gt;You've learned about the details of the DLR here on 9&lt;/a&gt;, which provides dynamic runtime support for .NET. IronRuby targets compatibility with the 1.8.x branch of Ruby modulo continuations. IronRuby is an implementation of Ruby version 1.8.6.&lt;br /&gt;
&lt;br /&gt;
Here, Jimmy explains the thinking behind the IronRuby project. Why are we doing this, anyway? When/Why would Ruby developers use IronRuby? What's the current status of the project? What's the future hold for IronRuby? Tune in and learn about the past, present and future of IronRuby.&lt;/p&gt;</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/8/0/2/7/4/InsideIronRuby_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/8/0/2/7/4/InsideIronRuby_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/8/0/2/7/4/InsideIronRuby_ch9.mp4" expression="full" duration="2603" fileSize="256777577" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/8/0/2/7/4/InsideIronRuby_ch9.mp3" expression="full" duration="2603" fileSize="20826195" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/8/0/2/7/4/InsideIronRuby_ch9.mp4" expression="full" duration="2603" fileSize="256777577" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/8/0/2/7/4/InsideIronRuby_ch9.wma" expression="full" duration="2603" fileSize="42115061" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/8/0/2/7/4/InsideIronRuby_ch9.wmv" expression="full" duration="2603" fileSize="369781061" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/8/0/2/7/4/InsideIronRuby_2MB_ch9.wmv" expression="full" duration="2603" fileSize="814749557" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/8/0/2/7/4/InsideIronRuby_Zune_ch9.wmv" expression="full" duration="2603" fileSize="369221041" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/8/0/2/7/4/InsideIronRuby_2MB_ch9.wmv" length="814749557" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>12</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Jimmy-Schementi-Inside-IronRuby/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/472084/Trackback.aspx</trackback:ping><category>.NET Framework</category><category>DLR</category><category>Dynamic Languages</category><category>IronRuby</category><category>Programming Languages</category><category>Ruby</category></item><item><title>VC 10: Stephan T. Lavavej and Damien Watkins - Inside STL</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/8/0/4/7/6/4/InsideSTL10_small_ch9.png" border="0" /&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/visualstudio/products/2010/default.mspx" target="_blank"&gt;Visual Studio 2010 Beta 1&lt;/a&gt; introduces a number of exciting new features for the C++ developer as we include a selection of goodies from the upcoming C++0x Standard. We have already heard about many of the language improvements (auto, decltype, lambdas, rvalue references, …) all of which can be put to good use when using the Standard Template Library (STL). Here,  Visual C++ team members who work on the STL – Stephan (Dev), Damien (PM) and a cameo appearance by Usman (QA) – Usman works in our Canadian Development Center and unfortunately could not be onsite for the video - tell us all about the latest version of STL. We talk about how the language features are enabling many improvements to the STL, with performance being a big  beneficiary. To realize these benefits we needed to update our STL implementation to leverage these new techniques, for example adding “move” semantics to STL containers. Additionally  when users of our STL implementation add “move” semantics to their types that they store in our STL containers then we hook into these as well.&lt;/p&gt;
&lt;p&gt;Learn more:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/vcblog/archive/2009/04/22/decltype-c-0x-features-in-vc10-part-3.aspx"&gt;http://blogs.msdn.com/vcblog/archive/2009/04/22/decltype-c-0x-features-in-vc10-part-3.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/vcblog/archive/2009/02/03/rvalue-references-c-0x-features-in-vc10-part-2.aspx"&gt;http://blogs.msdn.com/vcblog/archive/2009/02/03/rvalue-references-c-0x-features-in-vc10-part-2.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/vcblog/archive/2008/10/28/lambdas-auto-and-static-assert-c-0x-features-in-vc10-part-1.aspx"&gt;http://blogs.msdn.com/vcblog/archive/2008/10/28/lambdas-auto-and-static-assert-c-0x-features-in-vc10-part-1.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We did also mention lambdas, decltype, auto (and C++0x, generally) in a C9 PCP video from a while back:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Parallel-Computing-in-Native-Code-New-Trends-and-Old-Friends/"&gt;http://channel9.msdn.com/shows/Going+Deep/Parallel-Computing-in-Native-Code-New-Trends-and-Old-Friends/&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/467408/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/VC-10-Stephan-T-Lavavej-and-Damien-Watkins-Inside-STL/</comments><link>http://channel9.msdn.com/shows/Going+Deep/VC-10-Stephan-T-Lavavej-and-Damien-Watkins-Inside-STL/</link><pubDate>Thu, 21 May 2009 15:43:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/8/0/4/7/6/4/InsideSTL10_2MB_ch9.wmv</guid><evnet:views>79109</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/467408/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Visual Studio 2010 Beta 1 introduces a number of exciting new features for the C++ developer as we include a selection of goodies from the upcoming C++0x Standard. We have already heard about many of the language improvements (auto, decltype, lambdas, rvalue references, …) all of which can be put to good use when using the Standard Template Library (STL). Here,  Visual C++ team members who work on the STL – Stephan (Dev), Damien (PM) and a cameo appearance by Usman (QA) – Usman works in our Canadian Development Center and unfortunately could not be onsite for the video - tell us all about the latest version of STL. We talk about how the language features are enabling many improvements to the STL, with performance being a big  beneficiary. To realize these benefits we needed to update our STL implementation to leverage these new techniques, for example adding “move” semantics to STL containers. Additionally  when users of our STL implementation add “move” semantics to their types that they store in our STL containers then we hook into these as well.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/0/4/7/6/4/InsideSTL10_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/0/4/7/6/4/InsideSTL10_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/0/4/7/6/4/InsideSTL10_ch9.mp4" expression="full" duration="3593" fileSize="354411656" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/0/4/7/6/4/InsideSTL10_ch9.mp3" expression="full" duration="3593" fileSize="28749733" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/0/4/7/6/4/InsideSTL10_ch9.mp4" expression="full" duration="3593" fileSize="354411656" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/0/4/7/6/4/InsideSTL10_ch9.wma" expression="full" duration="3593" fileSize="58132389" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/0/4/7/6/4/InsideSTL10_ch9.wmv" expression="full" duration="3593" fileSize="217627001" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/0/4/7/6/4/InsideSTL10_2MB_ch9.wmv" expression="full" duration="3593" fileSize="1124731503" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/0/4/7/6/4/InsideSTL10_Zune_ch9.wmv" expression="full" duration="3593" fileSize="506762981" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/0/4/7/6/4/InsideSTL10_2MB_ch9.wmv" length="1124731503" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>31</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/VC-10-Stephan-T-Lavavej-and-Damien-Watkins-Inside-STL/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/467408/Trackback.aspx</trackback:ping><category>C++</category><category>Programming Languages</category><category>STL</category></item><item><title>Luke Hoban: Latest version of F# Released - What's the story? What's next?</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/9/6/4/LukeHobanFSharp_small_ch9.png" border="0" /&gt;With the &lt;a href="http://www.microsoft.com/visualstudio/products/2010/default.mspx" target="_blank"&gt;release of VS 2010 Beta 1 today&lt;/a&gt;, F# is &lt;em&gt;officially&lt;/em&gt; a part of the in-box VS family in the sense that it ships with VS 2010 as a first class language for use in building your .NET projects that require the power and flexibility of the functional approach to program composition. For VS 2008, a &lt;em&gt;great&lt;/em&gt; IDE and toolset that you have at your disposal today, you can &lt;a href="http://download.microsoft.com/download/F/7/4/F74A3170-261C-4E8F-B1A8-2E352C61A89B/InstallFSharp.msi"&gt;install the &lt;em&gt;equivalent&lt;/em&gt; version of F# that ships with VS2010 Beta 1&lt;/a&gt; as an add-in install. Right on!&lt;br /&gt;
&lt;br /&gt;
Here, F# Program Manager Luke Hoban talks with me about F#, generally and what people have been doing with it, the current state of the technology, what F# enables, etc. You'll even see some code Luke's written, but this is mainly an Old School Channel 9 conversation. You know the drill.&lt;br /&gt;
&lt;br /&gt;
Enjoy.&lt;br /&gt;
&lt;br /&gt;
Learn more:&lt;br /&gt;
&lt;br /&gt;
Don Syme's announcement of the F# 2010 beta release: &lt;a href="http://blogs.msdn.com/dsyme/archive/2009/05/20/visual-studio-2010-beta1-with-f-is-now-available-plus-matching-f-ctp-update-for-vs2008.aspx"&gt;http://blogs.msdn.com/dsyme/archive/2009/05/20/visual-studio-2010-beta1-with-f-is-now-available-plus-matching-f-ctp-update-for-vs2008.aspx&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
The F# Dev Center: &lt;a href="http://fsharp.net/"&gt;http://fsharp.net/&lt;/a&gt;&lt;img src="http://channel9.msdn.com/469468/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Luke-Hoban-Latest-version-of-F-Released-Whats-the-story-Whats-next/</comments><link>http://channel9.msdn.com/posts/Charles/Luke-Hoban-Latest-version-of-F-Released-Whats-the-story-Whats-next/</link><pubDate>Wed, 20 May 2009 22:24:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/9/6/4/LukeHobanFSharp_2MB_ch9.wmv</guid><evnet:views>36242</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/469468/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>With the &lt;a href="http://www.microsoft.com/visualstudio/products/2010/default.mspx" target="_blank"&gt;release of VS 2010 Beta 1 today&lt;/a&gt;, F# is &lt;em&gt;officially&lt;/em&gt; a part of the in-box VS family in the sense that it ships with VS 2010 as a first class language for use in building your .NET projects that require the power and flexibility of the functional approach to program composition. For VS 2008, a &lt;em&gt;great&lt;/em&gt; IDE and toolset that you have at your disposal today, you can &lt;a href="http://download.microsoft.com/download/F/7/4/F74A3170-261C-4E8F-B1A8-2E352C61A89B/InstallFSharp.msi"&gt;install the &lt;em&gt;equivalent&lt;/em&gt; version of F# that ships with VS2010 Beta 1&lt;/a&gt; as an add-in install. Right on!&lt;br /&gt;
&lt;br /&gt;
Here, F# Program Manager Luke Hoban talks with me about F#, generally and what people have been doing with it, the current state of the technology, what F# enables, etc. You'll even see some code Luke's written, but this is mainly an Old School Channel 9 conversation. You know the drill.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/9/6/4/LukeHobanFSharp_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/9/6/4/LukeHobanFSharp_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/9/6/4/LukeHobanFSharp_ch9.mp4" expression="full" duration="2784" fileSize="274911510" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/9/6/4/LukeHobanFSharp_ch9.mp3" expression="full" duration="2784" fileSize="22276173" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/9/6/4/LukeHobanFSharp_ch9.mp4" expression="full" duration="2784" fileSize="274911510" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/9/6/4/LukeHobanFSharp_ch9.wma" expression="full" duration="2784" fileSize="45049969" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/9/6/4/LukeHobanFSharp_ch9.wmv" expression="full" duration="2784" fileSize="169366147" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/9/6/4/LukeHobanFSharp_2MB_ch9.wmv" expression="full" duration="2784" fileSize="871550649" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/9/6/4/LukeHobanFSharp_Zune_ch9.wmv" expression="full" duration="2784" fileSize="395142127" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/9/6/4/LukeHobanFSharp_2MB_ch9.wmv" length="871550649" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>19</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Luke-Hoban-Latest-version-of-F-Released-Whats-the-story-Whats-next/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/469468/Trackback.aspx</trackback:ping><category>FSharp</category><category>Luke Hoban</category><category>Programming Languages</category><category>Visual Studio</category></item><item><title>Luca Bolognese:  C# and VB.NET Co-Evolution - The Twain Shall Meet</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/1/8/6/4/LucaCSharpVBNETCoEvolution_small_ch9.png" border="0" /&gt;For most of their lifetimes, C# and VB.NET have evolved at their own pace and in their own ways (C# added iterators, VB.NET didn't. VB.NET added XML Literals, C# didn't. etc, etc...). Today, Luca Bolognese and team have embarked on a new approach to how .NET's premiere languages will evolve going forward: Co-Evolution. Essentially, new language/compiler features will be developed for each language concurrenly. No longer will C# get new language construct X while VB.NET adds Y. They will both get X (and they will both get Y). Anders Hejlsberg, the father of C#, now oversees both languages and will make sure that language innovations are developed for C# and VB.NET &lt;em&gt;at the same time&lt;/em&gt;.&lt;br /&gt;
&lt;br /&gt;
I visited Luca recently to get a sense of the rationale behind this new co-evolutionary approach to two very different languages. Why is co-evolution important? Why not just have the languages, which target different demographics (do they?), evolve in ways that match the needs their users? What's the story here? What's next?&lt;img src="http://channel9.msdn.com/468120/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Luca-Bolognese-C-and-VBNET-Co-Evolution-The-Twain-Shall-Meet/</comments><link>http://channel9.msdn.com/posts/Charles/Luca-Bolognese-C-and-VBNET-Co-Evolution-The-Twain-Shall-Meet/</link><pubDate>Wed, 13 May 2009 15:45:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/1/8/6/4/LucaCSharpVBNETCoEvolution_2MB_ch9.wmv</guid><evnet:views>88176</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/468120/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>For most of their lifetimes, C# and VB.NET have evolved at their own pace and in their own ways (C# added iterators, VB.NET didn't. VB.NET added XML Literals, C# didn't. etc, etc...). Today, Luca Bolognese and team have embarked on a new approach to how .NET's premiere languages will evolve going forward: Co-Evolution. Essentially, new language/compiler features will be developed for each language concurrenly. No longer will C# get new language construct X while VB.NET adds Y. They will both get X (and they will both get Y). Anders Hejlsberg, the father of C#, now oversees both languages and will make sure that language innovations are developed for C# and VB.NET &lt;em&gt;at the same time&lt;/em&gt;.&lt;br /&gt;
&lt;br /&gt;
I visited Luca recently to get a sense of the rationale behind this new co-evolutionary approach to two very different languages. Why is co-evolution important? Why not just have the languages, which target different demographics (do they?), evolve in ways that match the needs their users? What's the story here? What's next?</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/1/8/6/4/LucaCSharpVBNETCoEvolution_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/1/8/6/4/LucaCSharpVBNETCoEvolution_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/1/8/6/4/LucaCSharpVBNETCoEvolution_ch9.mp4" expression="full" duration="2000" fileSize="197417958" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/1/8/6/4/LucaCSharpVBNETCoEvolution_ch9.mp3" expression="full" duration="2000" fileSize="16008914" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/1/8/6/4/LucaCSharpVBNETCoEvolution_ch9.mp4" expression="full" duration="2000" fileSize="197417958" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/1/8/6/4/LucaCSharpVBNETCoEvolution_ch9.wma" expression="full" duration="2000" fileSize="32379097" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/1/8/6/4/LucaCSharpVBNETCoEvolution_ch9.wmv" expression="full" duration="2000" fileSize="121233443" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/1/8/6/4/LucaCSharpVBNETCoEvolution_2MB_ch9.wmv" expression="full" duration="2000" fileSize="626289945" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/1/8/6/4/LucaCSharpVBNETCoEvolution_Zune_ch9.wmv" expression="full" duration="2000" fileSize="283569423" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/1/8/6/4/LucaCSharpVBNETCoEvolution_2MB_ch9.wmv" length="626289945" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>39</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Luca-Bolognese-C-and-VBNET-Co-Evolution-The-Twain-Shall-Meet/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/468120/Trackback.aspx</trackback:ping><category>.NET</category><category>Compilers</category><category>CSharp</category><category>Luca Bolognese</category><category>Programming Languages</category><category>VB.NET</category><category>Visual Studio</category></item><item><title>Expert to Expert: Martin Fowler and Chris Sells - Perspectives on Domain Specific Languages</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/4/6/9/6/6/4/DevCon2009MartinFowlerChrisSellsDSLs_small_ch9.png" border="0" /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc709420.aspx" target="_blank"&gt;Microsoft Olso&lt;/a&gt; Program Manager &lt;a href="http://sellsbrothers.com" target="_blank"&gt;Chris Sells&lt;/a&gt; and DSL expert &lt;a href="http://www.martinfowler.com/" target="_blank"&gt;Martin Fowler&lt;/a&gt; discuss the history and future of Domain Specific Languages (DSLs). This was filmed at &lt;a href="http://sellsbrothers.com/conference/" target="_blank"&gt;DevCon 2009&lt;/a&gt;, which took place on the Microsoft campus in Redmond, WA, USA. For those of you who don't know, Martin Fowler is a legendary software engineer and one of the industry's most accomplished speakers. For the past few years Martin has spent a great deal of time thinking about and implementing DSLs. He's viewed, by his peers and the industry at large, as the de facto DSL guru. You should most definitely &lt;a href="http://download.microsoft.com/download/E/7/7/E77A8FCE-0362-4930-BD5E-8A21EC77E38D/01WelcomeAndKeynote.wmv" target="_blank"&gt;watch his talk from this year's DevCon&lt;/a&gt;.&lt;img src="http://channel9.msdn.com/466964/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Expert-to-Expert-Martin-Fowler-and-Chris-Sells-Perspectives-on-Domain-Specific-Languages/</comments><link>http://channel9.msdn.com/posts/Charles/Expert-to-Expert-Martin-Fowler-and-Chris-Sells-Perspectives-on-Domain-Specific-Languages/</link><pubDate>Mon, 11 May 2009 19:14:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/4/6/9/6/6/4/DevCon2009MartinFowlerChrisSellsDSLs_2MB_ch9.wmv</guid><evnet:views>54300</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/466964/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;a href="http://msdn.microsoft.com/en-us/library/cc709420.aspx" target="_blank"&gt;Microsoft Olso&lt;/a&gt; Program Manager &lt;a href="http://sellsbrothers.com" target="_blank"&gt;Chris Sells&lt;/a&gt; and DSL expert &lt;a href="http://www.martinfowler.com/" target="_blank"&gt;Martin Fowler&lt;/a&gt; discuss the history and future of Domain Specific Languages (DSLs). This was filmed at &lt;a href="http://sellsbrothers.com/conference/" target="_blank"&gt;DevCon 2009&lt;/a&gt;, which took place on the Microsoft campus in Redmond, WA, USA. For those of you who don't know, Martin Fowler is a legendary software engineer and one of the industry's most accomplished speakers. For the past few years Martin has spent a great deal of time thinking about and implementing DSLs. He's viewed, by his peers and the industry at large, as the de facto DSL guru. You should most definitely &lt;a href="http://download.microsoft.com/download/E/7/7/E77A8FCE-0362-4930-BD5E-8A21EC77E38D/01WelcomeAndKeynote.wmv" target="_blank"&gt;watch his talk from this year's DevCon&lt;/a&gt;.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/6/9/6/6/4/DevCon2009MartinFowlerChrisSellsDSLs_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/6/9/6/6/4/DevCon2009MartinFowlerChrisSellsDSLs_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/6/9/6/6/4/DevCon2009MartinFowlerChrisSellsDSLs_ch9.mp4" expression="full" duration="1272" fileSize="119602431" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/6/9/6/6/4/DevCon2009MartinFowlerChrisSellsDSLs_ch9.mp3" expression="full" duration="1272" fileSize="10179884" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/6/9/6/6/4/DevCon2009MartinFowlerChrisSellsDSLs_ch9.mp4" expression="full" duration="1272" fileSize="119602431" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/6/9/6/6/4/DevCon2009MartinFowlerChrisSellsDSLs_ch9.wma" expression="full" duration="1272" fileSize="20588397" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/6/9/6/6/4/DevCon2009MartinFowlerChrisSellsDSLs_ch9.wmv" expression="full" duration="1272" fileSize="76989075" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/6/9/6/6/4/DevCon2009MartinFowlerChrisSellsDSLs_2MB_ch9.wmv" expression="full" duration="1272" fileSize="357329548" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/6/9/6/6/4/DevCon2009MartinFowlerChrisSellsDSLs_Zune_ch9.wmv" expression="full" duration="1272" fileSize="141805055" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/6/9/6/6/4/DevCon2009MartinFowlerChrisSellsDSLs_2MB_ch9.wmv" length="357329548" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>6</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Expert-to-Expert-Martin-Fowler-and-Chris-Sells-Perspectives-on-Domain-Specific-Languages/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/466964/Trackback.aspx</trackback:ping><category>Chris Sells</category><category>DevCon 2009</category><category>DSLs</category><category>Expert to Expert</category><category>Martin Fowler</category><category>Programming Languages</category></item><item><title>Joe Mistachkin: Eagle - Extensible Adaptable Generalized Logic Engine</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/5/2/4/8/6/4/LangNET2009JoeMistachkinEagle_small_ch9.png" border="0" /&gt;&lt;a href="http://eagle.to/"&gt;Eagle&lt;/a&gt; (Extensible Adaptable Generalized Logic Engine) is an implementation of the &lt;a href="http://www.tcl.tk/"&gt;Tcl&lt;/a&gt; scripting language for the &lt;a href="http://en.wikipedia.org/wiki/Common_Language_Runtime"&gt;Common Language Runtime&lt;/a&gt; (CLR). It is designed to be a universal scripting solution for any CLS based language. &lt;br /&gt;
&lt;br /&gt;
Joe Mistachkin, the creator of Eagle, sits down with me at Lang.NET 2009 to discuss the thinking behind Eagle, its history and future. Eagle is an open source project (&lt;a href="http://eagle.codeplex.com/" target="_blank"&gt;here's the Codeplex project&lt;/a&gt;) with a &lt;a href="http://eagle.to/standard/license.html" target="_blank"&gt;Tcl-like license&lt;/a&gt;. Joe wants some help building more features into Eagle. If you're so inclined, Niners, give him a hand!&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;img src="http://channel9.msdn.com/468425/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Joe-Mistachkin-Eagle-Extensible-Adaptable-Generalized-Logic-Engine/</comments><link>http://channel9.msdn.com/posts/Charles/Joe-Mistachkin-Eagle-Extensible-Adaptable-Generalized-Logic-Engine/</link><pubDate>Thu, 07 May 2009 21:46:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/5/2/4/8/6/4/LangNET2009JoeMistachkinEagle_2MB_ch9.wmv</guid><evnet:views>34044</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/468425/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;a href="http://eagle.to/"&gt;Eagle&lt;/a&gt; (Extensible Adaptable Generalized Logic Engine) is an implementation of the &lt;a href="http://www.tcl.tk/"&gt;Tcl&lt;/a&gt; scripting language for the &lt;a href="http://en.wikipedia.org/wiki/Common_Language_Runtime"&gt;Common Language Runtime&lt;/a&gt; (CLR). It is designed to be a universal scripting solution for any CLS based language. &lt;br /&gt;
&lt;br /&gt;
Joe Mistachkin, the creator of Eagle, sits down with me at Lang.NET 2009 to discuss the thinking behind Eagle, its history and future. Eagle is an open source project (&lt;a href="http://eagle.codeplex.com/" target="_blank"&gt;here's the Codeplex project&lt;/a&gt;) with a &lt;a href="http://eagle.to/standard/license.html" target="_blank"&gt;Tcl-like license&lt;/a&gt;. Joe wants some help building more features into Eagle. If you're so inclined, Niners, give him a hand!&lt;br /&gt;
&lt;br /&gt;
Enjoy!</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/2/4/8/6/4/LangNET2009JoeMistachkinEagle_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/2/4/8/6/4/LangNET2009JoeMistachkinEagle_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/2/4/8/6/4/LangNET2009JoeMistachkinEagle_ch9.mp4" expression="full" duration="684" fileSize="50217032" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/2/4/8/6/4/LangNET2009JoeMistachkinEagle_ch9.mp3" expression="full" duration="684" fileSize="5480065" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/2/4/8/6/4/LangNET2009JoeMistachkinEagle_ch9.mp4" expression="full" duration="684" fileSize="50217032" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/2/4/8/6/4/LangNET2009JoeMistachkinEagle_ch9.wma" expression="full" duration="684" fileSize="11086745" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/2/4/8/6/4/LangNET2009JoeMistachkinEagle_ch9.wmv" expression="full" duration="684" fileSize="41465547" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/2/4/8/6/4/LangNET2009JoeMistachkinEagle_2MB_ch9.wmv" expression="full" duration="684" fileSize="155908456" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/2/4/8/6/4/LangNET2009JoeMistachkinEagle_Zune_ch9.wmv" expression="full" duration="684" fileSize="63993527" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/2/4/8/6/4/LangNET2009JoeMistachkinEagle_2MB_ch9.wmv" length="155908456" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Joe-Mistachkin-Eagle-Extensible-Adaptable-Generalized-Logic-Engine/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/468425/Trackback.aspx</trackback:ping><category>Eagle</category><category>LangNET 2009</category><category>Programming</category><category>Programming Languages</category></item><item><title>Axum Published! Tutorial: Building your first Axum application</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_small_ch9.png" border="0" /&gt;&lt;p&gt;Not familiar with Axum? &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Maestro-A-Managed-Domain-Specific-Language-For-Concurrent-Programming/" target="_blank"&gt;Here's a C9 interview with the Axum team to refresh your memory&lt;/a&gt; (it's a domain specific language for concurrent programming, formerly known as "Maestro", developed by the Parallel Computing Platform team). &lt;br /&gt;
&lt;br /&gt;
Here, Axum PM Josh Phillips walks us through building a simple Axum application in just over 5 minutes.  Josh builds a simple “math library” on agents and shows how easy it is with Axum to focus on your code and get parallelism and safety implicitly. &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Axum Team Blog: &lt;/b&gt;&lt;a href="http://blogs.msdn.com/maestroteam"&gt;http://blogs.msdn.com/maestroteam&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx" target="_blank"&gt;
&lt;h2&gt;--&amp;gt;Get Axum&amp;lt;--&lt;/h2&gt;
&lt;/a&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/468389/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Building-your-first-Axum-application/</comments><link>http://channel9.msdn.com/posts/Charles/Building-your-first-Axum-application/</link><pubDate>Thu, 07 May 2009 17:45:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_2MB_ch9.wmv</guid><evnet:views>37320</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/468389/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;p&gt;Not familiar with Axum? &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Maestro-A-Managed-Domain-Specific-Language-For-Concurrent-Programming/" target="_blank"&gt;Here's a C9 interview with the Axum team to refresh your memory&lt;/a&gt; (it's a domain specific language for concurrent programming, formerly known as "Maestro", developed by the Parallel Computing Platform team). &lt;br /&gt;
&lt;br /&gt;
Here, Axum PM Josh Phillips walks us through building a simple Axum application in just over 5 minutes. Josh builds a simple “math library” on agents and shows how easy it is with Axum to focus on your code and get parallelism and safety implicitly. &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Axum Team Blog: &lt;/b&gt;&lt;a href="http://blogs.msdn.com/maestroteam"&gt;http://blogs.msdn.com/maestroteam&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx" target="_blank"&gt;
&lt;h2&gt;--&amp;gt;Get Axum&amp;lt;--&lt;/h2&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_ch9.mp4" expression="full" duration="319" fileSize="6587655" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_ch9.mp3" expression="full" duration="319" fileSize="2560016" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_ch9.mp4" expression="full" duration="319" fileSize="6587655" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_ch9.wma" expression="full" duration="319" fileSize="5189893" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_ch9.wmv" expression="full" duration="319" fileSize="7799357" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_2MB_ch9.wmv" expression="full" duration="319" fileSize="23767429" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_Zune_ch9.wmv" expression="full" duration="319" fileSize="8423337" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_2MB_ch9.wmv" expression="full" duration="319" fileSize="23767429" type="video/x-ms-asf" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/8/3/8/6/4/BuildingYour1stAxumApp_2MB_ch9.wmv" length="23767429" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>9</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Building-your-first-Axum-application/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/468389/Trackback.aspx</trackback:ping><category>Axum</category><category>Concurrency</category><category>Parallel Computing Platform</category><category>Parallelism</category><category>Programming</category><category>Programming Languages</category></item><item><title>Philip Wadler and Erik Meijer: On Programming Language Theory and Practice</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/9/6/6/4/LangNET2009ErikMeijerPhilipWadler_small_ch9.png" border="0" /&gt;&lt;a href="http://www.langnetsymposium.com/" target="_blank"&gt;Lang.NET Symposium&lt;/a&gt; 2009 was held on Microsoft's campus (make sure you &lt;a href="http://www.langnetsymposium.com/2009/talks.aspx" target="_blank"&gt;watch the talks&lt;/a&gt;, which are available for your viewing pleasure). We were of course there and conducted several interviews with some of programming language design's brightest thinkers.&lt;br /&gt;
&lt;br /&gt;
Here, &lt;a href="http://research.microsoft.com/en-us/um/people/emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Philip_Wadler" target="_blank"&gt;Philip Wadler&lt;/a&gt; discuss the theory and practice of programming language design with C# program manager Mads Torgersen. &lt;br /&gt;
&lt;br /&gt;
Philip is widely known for his significant contributions to functional programming (including Haskell and a classic book - Introduction to Functional Programming(Prentice Hall publisher) that is one of the best introductions to functional programming you can find) and programming language theory. You've learned about Mondas on Channel 9. Well, Philip is the guy that is in part responsible for their wide adoption in FP.&lt;br /&gt;
&lt;br /&gt;
Erik, as you know by now, is co-creator of LINQ, functional programming master, creator of the now unnamed "Volta" technologies, and much more. &lt;br /&gt;
&lt;br /&gt;
This is a great conversation on how theory winds its way into practice and how principles take time to embed themselves into modern language design (most modern languages are built on the ideas formed many years ago, as theoretical principles).  Phillip and Erik also touch on langauge history and futures. Tune in.&lt;img src="http://channel9.msdn.com/466960/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Philip-Wadler-and-Erik-Meijer-Perspectives-on-Programming-Language-Theory-and-Practice/</comments><link>http://channel9.msdn.com/posts/Charles/Philip-Wadler-and-Erik-Meijer-Perspectives-on-Programming-Language-Theory-and-Practice/</link><pubDate>Mon, 04 May 2009 17:02:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/9/6/6/4/LangNET2009ErikMeijerPhilipWadler_2MB_ch9.wmv</guid><evnet:views>32127</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/466960/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;a href="http://www.langnetsymposium.com/" target="_blank"&gt;Lang.NET Symposium&lt;/a&gt; 2009 was held on Microsoft's campus (make sure you &lt;a href="http://www.langnetsymposium.com/2009/talks.aspx" target="_blank"&gt;watch the talks&lt;/a&gt;, which are available for your viewing pleasure). We were of course there and conducted several interviews with some of programming language design's brightest thinkers.&lt;br /&gt;
&lt;br /&gt;
Here, &lt;a href="http://research.microsoft.com/en-us/um/people/emeijer/" target="_blank"&gt;Erik Meijer&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Philip_Wadler" target="_blank"&gt;Philip Wadler&lt;/a&gt; discuss the theory and practice of programming language design with C# program manager Mads Torgersen. &lt;br /&gt;
&lt;br /&gt;
Philip is widely known for his significant contributions to functional programming (including Haskell and a classic book - Introduction to Functional Programming(Prentice Hall publisher) that is one of the best introductions to functional programming you can find) and programming language theory. You've learned about Mondas on Channel 9. Well, Philip is the guy that is in part responsible for their wide adoption in FP.&lt;br /&gt;
&lt;br /&gt;
Erik, as you know by now, is co-creator of LINQ, functional programming master, creator of the now unnamed "Volta" technologies, and much more. &lt;br /&gt;
&lt;br /&gt;
This is a great conversation on how theory winds its way into practice and how principles take time to embed themselves into modern language design (most modern languages are built on the ideas formed many years ago, as theoretical principles).  Phillip and Erik also touch on langauge history and futures. Tune in.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/9/6/6/4/LangNET2009ErikMeijerPhilipWadler_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/9/6/6/4/LangNET2009ErikMeijerPhilipWadler_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/9/6/6/4/LangNET2009ErikMeijerPhilipWadler_ch9.mp4" expression="full" duration="905" fileSize="87966561" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/9/6/6/4/LangNET2009ErikMeijerPhilipWadler_ch9.mp3" expression="full" duration="905" fileSize="7245605" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/9/6/6/4/LangNET2009ErikMeijerPhilipWadler_ch9.mp4" expression="full" duration="905" fileSize="87966561" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/9/6/6/4/LangNET2009ErikMeijerPhilipWadler_ch9.wma" expression="full" duration="905" fileSize="14658501" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/9/6/6/4/LangNET2009ErikMeijerPhilipWadler_ch9.wmv" expression="full" duration="905" fileSize="54666873" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/9/6/6/4/LangNET2009ErikMeijerPhilipWadler_2MB_ch9.wmv" expression="full" duration="905" fileSize="279148482" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/9/6/6/4/LangNET2009ErikMeijerPhilipWadler_Zune_ch9.wmv" expression="full" duration="905" fileSize="108890853" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/6/9/6/6/4/LangNET2009ErikMeijerPhilipWadler_2MB_ch9.wmv" length="279148482" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>10</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Philip-Wadler-and-Erik-Meijer-Perspectives-on-Programming-Language-Theory-and-Practice/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/466960/Trackback.aspx</trackback:ping><category>Erik Meijer</category><category>LangNET 2009</category><category>Philip Wadler</category><category>Programming Languages</category></item><item><title>Jason Olson: Composing Programming Languages, F# and OO</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/1/6/9/6/6/4/LangNET2009JasonOlson_small_ch9.png" border="0" /&gt;Jason Olson is a programming language evangelist in addition to his duties as a managed (.NET) tools evangelist. You know him from &lt;a href="http://channel9.msdn.com/Niners/JasonOlson/" target="_blank"&gt;C9&lt;/a&gt;. He's a long time Niner and has always been passionate about languages. I've known Jason for a long time and it's great to see him take his passionate intelligence and apply it to both learning several languages and writing his own. This is awesome to see! I caught up with Jason at &lt;a href="http://www.langnetsymposium.com/" target="_blank"&gt;Lang.NET 2009&lt;/a&gt; where he gave two very interesting talks, &lt;a href="http://www.langnetsymposium.com/2009/talks/24-JasonOlson-FSharp.html" target="_blank"&gt;one on F#&lt;/a&gt; and one on &lt;a href="http://www.langnetsymposium.com/2009/talks/31-JasonOlson-ModernOO.html" target="_blank"&gt;modern object orientation&lt;/a&gt;. Here, we talk about his presentations and his perspectives on object orientation, F# and his own language.&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;img src="http://channel9.msdn.com/466961/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Jason-Olson-Composing-Programming-Languages-F-and-OO/</comments><link>http://channel9.msdn.com/posts/Charles/Jason-Olson-Composing-Programming-Languages-F-and-OO/</link><pubDate>Fri, 01 May 2009 17:15:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/1/6/9/6/6/4/LangNET2009JasonOlson_2MB_ch9.wmv</guid><evnet:views>40725</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/466961/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Jason Olson is a programming language evangelist in addition to his duties as a managed (.NET) tools evangelist. You know him from &lt;a href="http://channel9.msdn.com/Niners/JasonOlson/" target="_blank"&gt;C9&lt;/a&gt;. He's a long time Niner and has always been passionate about languages. I've known Jason for a long time and it's great to see him take his passionate intelligence and apply it to both learning several languages and writing his own. This is awesome to see! I caught up with Jason at &lt;a href="http://www.langnetsymposium.com/" target="_blank"&gt;Lang.NET 2009&lt;/a&gt; where he gave two very interesting talks, &lt;a href="http://www.langnetsymposium.com/2009/talks/24-JasonOlson-FSharp.html" target="_blank"&gt;one on F#&lt;/a&gt; and one on &lt;a href="http://www.langnetsymposium.com/2009/talks/31-JasonOlson-ModernOO.html" target="_blank"&gt;modern object orientation&lt;/a&gt;. Here, we talk about his presentations and his perspectives on object orientation, F# and his own language.&lt;br /&gt;
&lt;br /&gt;
Enjoy!</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/6/9/6/6/4/LangNET2009JasonOlson_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/6/9/6/6/4/LangNET2009JasonOlson_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/6/9/6/6/4/LangNET2009JasonOlson_ch9.mp4" expression="full" duration="940" fileSize="74782159" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/6/9/6/6/4/LangNET2009JasonOlson_ch9.mp3" expression="full" duration="940" fileSize="7524148" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/6/9/6/6/4/LangNET2009JasonOlson_ch9.mp4" expression="full" duration="940" fileSize="74782159" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/6/9/6/6/4/LangNET2009JasonOlson_ch9.wma" expression="full" duration="940" fileSize="15220249" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/6/9/6/6/4/LangNET2009JasonOlson_ch9.wmv" expression="full" duration="940" fileSize="56859083" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/6/9/6/6/4/LangNET2009JasonOlson_2MB_ch9.wmv" expression="full" duration="940" fileSize="238701064" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/6/9/6/6/4/LangNET2009JasonOlson_Zune_ch9.wmv" expression="full" duration="940" fileSize="96139063" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/6/9/6/6/4/LangNET2009JasonOlson_2MB_ch9.wmv" length="238701064" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>16</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Jason-Olson-Composing-Programming-Languages-F-and-OO/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/466961/Trackback.aspx</trackback:ping><category>FSharp</category><category>Jason Olson</category><category>LangNET 2009</category><category>OO</category><category>Programming</category><category>Programming Languages</category></item><item><title>Gilad Bracha: Inside Newspeak and Objects as a Service</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/7/5/9/6/6/4/LangNET2009GiladBrachaNewspeak_small_ch9.png" border="0" /&gt;&lt;a href="http://www.langnetsymposium.com/" target="_blank"&gt;Lang.NET Symposium&lt;/a&gt; 2009 was held on Microsoft's campus (make sure you &lt;a href="http://www.langnetsymposium.com/2009/talks.aspx" target="_blank"&gt;watch the talks&lt;/a&gt;, which are available for your viewing pleasure). We were of course there and conducted several interviews with some of programming language design's brightest thinkers.&lt;br /&gt;
&lt;br /&gt;
Here, language design master &lt;a href="http://www.bracha.org/Site/Home.html" target="_blank"&gt;Gilad Bracha&lt;/a&gt; discusses his &lt;a href="http://newspeaklanguage.org/" target="_blank"&gt;Newspeak programming language&lt;/a&gt;. What is Newspeak and why was it created? What general problems does it solve that can't be done with already existing languages and tools? What does it facilitate, really? We dig into the fundamental ideas, history and future of Newspeak. Gilad was kind enough to keep the discussion at a level appropriate for a broad technical audience and not just for his fellow scientists.&lt;br /&gt;
&lt;br /&gt;
Newspeak People say: "Like &lt;a href="http://research.sun.com/self/language.html" title="http://research.sun.com/self/language.html"&gt;Self&lt;/a&gt;, Newspeak is message-based; all names are dynamically bound. However, like Smalltalk, Newspeak uses classes rather than prototypes. As in &lt;a href="http://www.daimi.au.dk/~beta/" title="http://www.daimi.au.dk/~beta/"&gt;Beta&lt;/a&gt;, classes may nest. Because class names are late bound, all classes are virtual, every class can act as a mixin, and class hierarchy inheritance falls out automatically. Top level classes are essentially self contained parametric namespaces, and serve to define component style modules, which naturally define sandboxes in an object-capability style. Newspeak was deliberately designed as a principled dynamically typed language. We plan to evolve the language to support &lt;a href="http://pico.vub.ac.be/%7Ewdmeuter/RDL04/papers/Bracha.pdf" title="http://pico.vub.ac.be/~wdmeuter/RDL04/papers/Bracha.pdf"&gt;pluggable types&lt;/a&gt;."&lt;br /&gt;
&lt;br /&gt;
If you want to understand the thinking behind the thinking of Newspeak, then tune in. Please go ahead and play around with Newspeak, Niners, and provide Gilad and team with feedback.&lt;br /&gt;
&lt;br /&gt;
How far could the notion of Internet-distributed synchronizable objects, or objects as a software service, be taken? &lt;br /&gt;
&lt;br /&gt;
Enjoy&lt;img src="http://channel9.msdn.com/466957/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Gilad-Bracha-Inside-Newspeak/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Gilad-Bracha-Inside-Newspeak/</link><pubDate>Thu, 30 Apr 2009 23:41:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/7/5/9/6/6/4/LangNET2009GiladBrachaNewspeak_2MB_ch9.wmv</guid><evnet:views>39719</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/466957/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;a href="http://www.langnetsymposium.com/" target="_blank"&gt;Lang.NET Symposium&lt;/a&gt; 2009 was held on Microsoft's campus (make sure you &lt;a href="http://www.langnetsymposium.com/2009/talks.aspx" target="_blank"&gt;watch the talks&lt;/a&gt;, which are available for your viewing pleasure). We were of course there and conducted several interviews with some of programming language design's brightest thinkers.&lt;br /&gt;
&lt;br /&gt;
Here, language design master &lt;a href="http://www.bracha.org/Site/Home.html" target="_blank"&gt;Gilad Bracha&lt;/a&gt; discusses his &lt;a href="http://newspeaklanguage.org/" target="_blank"&gt;Newspeak programming language&lt;/a&gt;. What is Newspeak and why was it created? What general problems does it solve that can't be done with already existing languages and tools? What does it facilitate, really? We dig into the fundamental ideas, history and future of Newspeak. Gilad was kind enough to keep the discussion at a level appropriate for a broad technical audience and not just for his fellow scientists.&lt;br /&gt;
&lt;br /&gt;
If you want to understand the thinking behind the thinking of Newspeak, then tune in. Please go ahead and play around with Newspeak, Niners, and provide Gilad and team with feedback.&lt;br /&gt;
&lt;br /&gt;
How far could the notion of Internet-distributed synchronizable objects, or objects as a software service, be taken?  &lt;br /&gt;
&lt;br /&gt;
Enjoy</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/5/9/6/6/4/LangNET2009GiladBrachaNewspeak_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/5/9/6/6/4/LangNET2009GiladBrachaNewspeak_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/5/9/6/6/4/LangNET2009GiladBrachaNewspeak_ch9.mp4" expression="full" duration="1903" fileSize="120942721" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/5/9/6/6/4/LangNET2009GiladBrachaNewspeak_ch9.mp3" expression="full" duration="1903" fileSize="15232740" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/5/9/6/6/4/LangNET2009GiladBrachaNewspeak_ch9.mp4" expression="full" duration="1903" fileSize="120942721" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/5/9/6/6/4/LangNET2009GiladBrachaNewspeak_ch9.wma" expression="full" duration="1903" fileSize="30798993" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/5/9/6/6/4/LangNET2009GiladBrachaNewspeak_ch9.wmv" expression="full" duration="1903" fileSize="114592861" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/5/9/6/6/4/LangNET2009GiladBrachaNewspeak_2MB_ch9.wmv" expression="full" duration="1903" fileSize="595841363" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/5/9/6/6/4/LangNET2009GiladBrachaNewspeak_Zune_ch9.wmv" expression="full" duration="1903" fileSize="163072841" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/5/9/6/6/4/LangNET2009GiladBrachaNewspeak_2MB_ch9.wmv" length="595841363" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>13</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Gilad-Bracha-Inside-Newspeak/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/466957/Trackback.aspx</trackback:ping><category>Gilad Bracha</category><category>LangNET 2009</category><category>NewSpeak</category><category>Programming Languages</category></item><item><title>Emmanuel Stapf: Eiffel and Contract Oriented Programming</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/5/6/9/6/6/4/LangNET2009EmmanuelStapfEiffel_small_ch9.png" border="0" /&gt;The &lt;a href="http://en.wikipedia.org/wiki/Eiffel_%28programming_language%29"&gt;Eiffel programming language&lt;/a&gt; is an object-oriented language that is based on a fixed set of powerful principles like Design by Contract and Command-Query Separation. It's a very powerful language that has impacted the evolution of the more popular general purpose OO languages such as Java and C#. Here, one of the developers of Eiffel, &lt;a href="http://archive.eiffel.com/general/people/stapf.html" target="_blank"&gt;Emmanuel Stapf&lt;/a&gt;, sits down with one of the C# language designers, Mads Torgersen, to discuss the language level code contracts in Eiffel and the general principles of contract oriented programming.&lt;img src="http://channel9.msdn.com/466965/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Emmanuel-Stapf-Eiffel-and-Contract-Oriented-Programming/</comments><link>http://channel9.msdn.com/posts/Charles/Emmanuel-Stapf-Eiffel-and-Contract-Oriented-Programming/</link><pubDate>Wed, 29 Apr 2009 18:43:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/5/6/9/6/6/4/LangNET2009EmmanuelStapfEiffel_2MB_ch9.wmv</guid><evnet:views>29699</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/466965/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>The &lt;a href="http://en.wikipedia.org/wiki/Eiffel_%28programming_language%29"&gt;Eiffel programming language&lt;/a&gt; is an object-oriented language that is based on a fixed set of powerful principles like Design by Contract and Command-Query Separation. It's a very powerful language that has impacted the evolution of the more popular general purpose OO languages such as Java and C#. Here, one of the developers of Eiffel, &lt;a href="http://archive.eiffel.com/general/people/stapf.html" target="_blank"&gt;Emmanuel Stapf&lt;/a&gt;, sits down with one of the C# language designers, Mads Torgersen, to discuss the language level code contracts in Eiffel and the general principles of contract oriented programming.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/6/9/6/6/4/LangNET2009EmmanuelStapfEiffel_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/6/9/6/6/4/LangNET2009EmmanuelStapfEiffel_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/6/9/6/6/4/LangNET2009EmmanuelStapfEiffel_ch9.mp4" expression="full" duration="1576" fileSize="97141192" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/6/9/6/6/4/LangNET2009EmmanuelStapfEiffel_ch9.mp3" expression="full" duration="1576" fileSize="12613174" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/6/9/6/6/4/LangNET2009EmmanuelStapfEiffel_ch9.mp4" expression="full" duration="1576" fileSize="97141192" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/6/9/6/6/4/LangNET2009EmmanuelStapfEiffel_ch9.wma" expression="full" duration="1576" fileSize="25505945" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/6/9/6/6/4/LangNET2009EmmanuelStapfEiffel_ch9.wmv" expression="full" duration="1576" fileSize="94798899" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/6/9/6/6/4/LangNET2009EmmanuelStapfEiffel_2MB_ch9.wmv" expression="full" duration="1576" fileSize="300198790" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/6/9/6/6/4/LangNET2009EmmanuelStapfEiffel_Zune_ch9.wmv" expression="full" duration="1576" fileSize="124542879" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/6/9/6/6/4/LangNET2009EmmanuelStapfEiffel_2MB_ch9.wmv" length="300198790" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Emmanuel-Stapf-Eiffel-and-Contract-Oriented-Programming/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/466965/Trackback.aspx</trackback:ping><category>Eiffel</category><category>LangNET 2009</category><category>Programming Languages</category></item><item><title>Anders Hejlsberg and Gilad Bracha: Perspectives on Programming Language Design</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/9/5/9/6/6/4/LangNET2009GiladBrachaAndersHejlsberg_small_ch9.png" border="0" /&gt;&lt;a href="http://www.langnetsymposium.com/" target="_blank"&gt;Lang.NET Symposium&lt;/a&gt; 2009 was held on Microsoft's campus (make sure you &lt;a href="http://www.langnetsymposium.com/2009/talks.aspx" target="_blank"&gt;watch the talks&lt;/a&gt;, which are available for your viewing pleasure). We were of course there and conducted several interviews with some of programming language design's brightest thinkers. Here, the great Anders Hejlsberg, father of C#, and one of my favorite language designers and personalities &lt;a href="http://www.bracha.org/Site/Home.html" target="_blank"&gt;Gilad Bracha&lt;/a&gt; (you'll see more Gilad in the next few days discussing his &lt;a href="http://newspeaklanguage.org/" target="_blank"&gt;Newspeak programming language&lt;/a&gt;) are interviewed by C# Program Manager Mads Torgersen (he works with Anders and others on the design of C#). Mads should consider a career in interviewing! Awesome job, man. This is a great conversation with two of the premiere programming language designers in the world. Enjoy! &lt;br /&gt;
&lt;br /&gt;
See all the C9 Lang.NET conversations &lt;a href="http://channel9.msdn.com/tags/LangNET+2009/" target="_blank"&gt;here&lt;/a&gt;. Their numbers will grow over the coming week so check back.&lt;img src="http://channel9.msdn.com/466959/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Anders-Heljsberg-and-Gilad-Bracha-Perspectives-on-Programming-Language-Design/</comments><link>http://channel9.msdn.com/posts/Charles/Anders-Heljsberg-and-Gilad-Bracha-Perspectives-on-Programming-Language-Design/</link><pubDate>Tue, 28 Apr 2009 17:33:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/9/5/9/6/6/4/LangNET2009GiladBrachaAndersHejlsberg_2MB_ch9.wmv</guid><evnet:views>34417</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/466959/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;a href="http://www.langnetsymposium.com/" target="_blank"&gt;Lang.NET Symposium&lt;/a&gt; 2009 was held on Microsoft's campus (make sure you &lt;a href="http://www.langnetsymposium.com/2009/talks.aspx" target="_blank"&gt;watch the talks&lt;/a&gt;, which are available for your viewing pleasure). We were of course there and conducted several interviews with some of programming language design's brightest thinkers. Here, the great Anders Hejlsberg, father of C#, and one of my favorite language designers and personalities &lt;a href="http://www.bracha.org/Site/Home.html" target="_blank"&gt;Gilad Bracha&lt;/a&gt; (you'll see more Gilad in the next few days discussing his &lt;a href="http://newspeaklanguage.org/" target="_blank"&gt;Newspeak programming language&lt;/a&gt;) are interviewed by C# Program Manager Mads Torgersen (he works with Anders and others on the design of C#). Mads should consider a career in interviewing! Awesome job, man. This is a great conversation with two of the premiere programming language designers in the world. Enjoy! &lt;br /&gt;
&lt;br /&gt;
See all the C9 Lang.NET conversations &lt;a href="http://channel9.msdn.com/tags/LangNET+2009/" target="_blank"&gt;here&lt;/a&gt;. Their numbers will grow over the coming week so check back.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/5/9/6/6/4/LangNET2009GiladBrachaAndersHejlsberg_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/5/9/6/6/4/LangNET2009GiladBrachaAndersHejlsberg_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/5/9/6/6/4/LangNET2009GiladBrachaAndersHejlsberg_ch9.mp4" expression="full" duration="1589" fileSize="111866880" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/5/9/6/6/4/LangNET2009GiladBrachaAndersHejlsberg_ch9.mp3" expression="full" duration="1589" fileSize="12716675" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/5/9/6/6/4/LangNET2009GiladBrachaAndersHejlsberg_ch9.mp4" expression="full" duration="1589" fileSize="111866880" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/5/9/6/6/4/LangNET2009GiladBrachaAndersHejlsberg_ch9.wma" expression="full" duration="1589" fileSize="25716225" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/5/9/6/6/4/LangNET2009GiladBrachaAndersHejlsberg_ch9.wmv" expression="full" duration="1589" fileSize="96174977" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/5/9/6/6/4/LangNET2009GiladBrachaAndersHejlsberg_2MB_ch9.wmv" expression="full" duration="1589" fileSize="338058031" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/5/9/6/6/4/LangNET2009GiladBrachaAndersHejlsberg_Zune_ch9.wmv" expression="full" duration="1589" fileSize="142830957" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/5/9/6/6/4/LangNET2009GiladBrachaAndersHejlsberg_2MB_ch9.wmv" length="338058031" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>21</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Anders-Heljsberg-and-Gilad-Bracha-Perspectives-on-Programming-Language-Design/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/466959/Trackback.aspx</trackback:ping><category>Anders Hejlsberg</category><category>CSharp</category><category>Gilad Bracha</category><category>LangNET 2009</category><category>NewSpeak</category><category>Programming Languages</category></item></channel></rss>