<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>C9 Lectures: Erik Meijer - Functional Programming Fundamentals  - Channel 9</title>
    <atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/feed"></atom:link>
    <itunes:summary>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&#39;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.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. Erik Meijer (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, there&#39;s Erik inside. </itunes:summary>
    <itunes:author>Microsoft</itunes:author>
    <itunes:subtitle></itunes:subtitle>
    <image>
      <url>http://files.channel9.msdn.com/thumbnail/944f9482-994c-427f-aa83-b19d9bdd2c37.png</url>
      <title>C9 Lectures: Erik Meijer - Functional Programming Fundamentals  - Channel 9</title>
      <link>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals</link>
    </image>
    <itunes:image href="http://files.channel9.msdn.com/thumbnail/944f9482-994c-427f-aa83-b19d9bdd2c37.png"></itunes:image>
    <itunes:category text="Technology"></itunes:category>
    <description>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&#39;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.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. Erik Meijer (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, there&#39;s Erik inside. </description>
    <link>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals</link>
    <language>en</language>
    <pubDate>Sat, 18 May 2013 09:11:57 GMT</pubDate>
    <lastBuildDate>Sat, 18 May 2013 09:11:57 GMT</lastBuildDate>
    <generator>Rev9</generator>
    <c9:totalResults>13</c9:totalResults>
    <c9:pageCount>1</c9:pageCount>
    <c9:pageSize>100</c9:pageSize>
  <item>
      <title>C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals Chapter 13 of 13</title>
      <description><![CDATA[<p>Well, my friends, the day has arrived. For thirteen weeks, you have been provided all the conceptual tools to take the leap into the deep end of the functional programming pool and float safely. The great Dr. Erik Meijer has generously given his value time to teach us the fundamentals as delivered by Graham Hutton in his book <a href="http://www.cs.nott.ac.uk/~gmh/book.html" target="_blank"><br>Programming in Haskell</a>. Of course, Erik merged his own extensive knowledge, unique perspective and experience into the educational weave: so, you got the best of two worlds. We hope you enjoyed this series, the first in a new a format of Channel 9 content (lectures). <br><br>The Channel 9 team and Niner nation&nbsp;thank our dear friend Erik for this <em>stellar</em> contribution to Channel 9 and programming education, generally. Of course, we also thank Graham Hutton for writing the book (and&nbsp;for&nbsp;guest lecturing <a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Graham-Hutton-Functional-Programming-Fundamentals-Chapter-11-of-13/" target="_blank">Chapter 11</a>)&nbsp;that Erik is both so fond of and which provided&nbsp;a&nbsp;basis for these lectures, which, by the way, were all&nbsp;done&nbsp;in true Channel 9 fashion: They&nbsp;were recorded in single takes with Erik doing a brilliant job articulating, contextualizing, expanding on&nbsp;the fundamentals and being, well, Erik, one of our favorite geniuses, all in real time.<br><br>In <strong>Chapter 13</strong>, <strong>Equational Reasoning </strong>(and also revealing why Erik says 'uhm' and 'you know' so often), the grand finale, Dr. Meijer digs into&nbsp;referential transparency and being able to replace equals by equals in all contexts.<br>In some sense, the purity inherent in&nbsp;functional languages like&nbsp;Haskell makes it easy to express and implement equational reasoning. In Haskell, our old friend &quot;=&quot; means &quot;is equal to by definition&quot;. But what does equational reasoning<br><em>mean</em>? It is clear that propositional logic is too weak for many applications and that&nbsp;equational logic is a first step towards a more powerful system*. Is it? Dr. Meijer, please do explain.<br><br>Tune in. Enjoy.<br><br><em>* source:&nbsp;</em><a href="http://www.cs.cmu.edu/~cdm/pdf/EquLogic.pdf"><em>http://www.cs.cmu.edu/~cdm/pdf/EquLogic.pdf</em></a><br><br><strong></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"><strong>Chapter 1</strong></a> <br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" shape="rect" target="_blank">Chapter 2</a> <br></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" shape="rect" target="_blank">Chapter 3</a> <br></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/" shape="rect" target="_blank">Chapter 4</a> </strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/" shape="rect" target="_blank"><br>Chapter 5</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13/" shape="rect" target="_blank">Chapter 6</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13/" shape="rect" target="_blank">Chapter 7</a></strong> <br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-8-of-13/" shape="rect" target="_self">Chapter 8</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-9-of-13" target="_blank">Chapter 9</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13" target="_blank">Chapter 10</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Graham-Hutton-Functional-Programming-Fundamentals-Chapter-11-of-13" target="_blank">Chapter 11</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-12-of-13" target="_blank">Chapter 12</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-13-of-13" target="_blank">Chapter 13</a></strong><strong></strong></strong></p><p>&nbsp;</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/feed&WT.dl=0&WT.entryid=Entry:RSSView:069bca18bfa240239d0e9dea00429ec7">]]></description>
      <comments>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-13-of-13</comments>
      <itunes:summary>Well, my friends, the day has arrived. For thirteen weeks, you have been provided all the conceptual tools to take the leap into the deep end of the functional programming pool and float safely. The great Dr. Erik Meijer has generously given his value time to teach us the fundamentals as delivered by Graham Hutton in his book Programming in Haskell. Of course, Erik merged his own extensive knowledge, unique perspective and experience into the educational weave: so, you got the best of two worlds. We hope you enjoyed this series, the first in a new a format of Channel 9 content (lectures). The Channel 9 team and Niner nation&amp;nbsp;thank our dear friend Erik for this stellar contribution to Channel 9 and programming education, generally. Of course, we also thank Graham Hutton for writing the book (and&amp;nbsp;for&amp;nbsp;guest lecturing Chapter 11)&amp;nbsp;that Erik is both so fond of and which provided&amp;nbsp;a&amp;nbsp;basis for these lectures, which, by the way, were all&amp;nbsp;done&amp;nbsp;in true Channel 9 fashion: They&amp;nbsp;were recorded in single takes with Erik doing a brilliant job articulating, contextualizing, expanding on&amp;nbsp;the fundamentals and being, well, Erik, one of our favorite geniuses, all in real time.In Chapter 13, Equational Reasoning (and also revealing why Erik says &#39;uhm&#39; and &#39;you know&#39; so often), the grand finale, Dr. Meijer digs into&amp;nbsp;referential transparency and being able to replace equals by equals in all contexts.In some sense, the purity inherent in&amp;nbsp;functional languages like&amp;nbsp;Haskell makes it easy to express and implement equational reasoning. In Haskell, our old friend &amp;quot;=&amp;quot; means &amp;quot;is equal to by definition&amp;quot;. But what does equational reasoningmean? It is clear that propositional logic is too weak for many applications and that&amp;nbsp;equational logic is a first step towards a more powerful system*. Is it? Dr. Meijer, please do explain.Tune in. Enjoy.* source:&amp;nbsp;http://www.cs.cmu.edu/~cdm/pdf/EquLogic.pdfChapter 1 Chapter 2</itunes:summary>
      <itunes:duration>4899</itunes:duration>
      <link>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-13-of-13</link>
      <pubDate>Thu, 24 Dec 2009 23:07:00 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-13-of-13</guid>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/100/513656_100x75.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/220/513656_220x165.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/6/5/6/3/1/5/C9LecturesMeijerFPC13_512_ch9.png" height="384" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/5/6/3/1/5/C9LecturesMeijerFPC13_2MB_ch9.wmv" expression="full" duration="4899" fileSize="1198266751" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/5/6/3/1/5/C9LecturesMeijerFPC13_ch9.mp3" expression="full" duration="4899" fileSize="39198730" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/5/6/3/1/5/C9LecturesMeijerFPC13_ch9.mp4" expression="full" duration="4899" fileSize="473173252" type="video/mp4" medium="video"></media:content>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/5/6/3/1/5/C9LecturesMeijerFPC13_ch9.wma" expression="full" duration="4899" fileSize="39627737" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/5/6/3/1/5/C9LecturesMeijerFPC13_ch9.wmv" expression="full" duration="4899" fileSize="687722119" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://ecn.channel9.msdn.com/o9/ch9/6/5/6/3/1/5/C9LecturesMeijerFPC13_ch9.wmv" length="687722119" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Charles</dc:creator>
      <itunes:author>Charles</itunes:author>
      <slash:comments>20</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-13-of-13/RSS</wfw:commentRss>
      <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 12 of 13</title>
      <description><![CDATA[<p>In <strong>Chapter 12, Lazy Evaluation</strong>, Dr. Meijer takes us on a journey into the world of order of evaluation (when expressions are evaluated). In the case of lazy evaluation, computation is delayed until the result of the computation is known to be&nbsp;required. <br><br>Most programming languages that most of you use day to day use eager or strict evaluation, which is the<br><em>opposite</em> of lazy evaluation. In the strict evaluation world, expressions are evaluated as soon as they are bound to a variable (this is also known as greedy evaluation). In Haskell, laziness is first class!<br><br>Tune in. Learn and enjoy!<br><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"><strong>Chapter 1</strong></a> <br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" shape="rect" target="_blank">Chapter 2</a> <br></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" shape="rect" target="_blank">Chapter 3</a> <br></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/" shape="rect" target="_blank">Chapter 4</a> </strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/" shape="rect" target="_blank"><br>Chapter 5</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13/" shape="rect" target="_blank">Chapter 6</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13/" shape="rect" target="_blank">Chapter 7</a></strong> <br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-8-of-13/" shape="rect" target="_self">Chapter 8</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-9-of-13" target="_blank">Chapter 9</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13" target="_blank">Chapter 10</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Graham-Hutton-Functional-Programming-Fundamentals-Chapter-11-of-13" target="_blank">Chapter 11</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-12-of-13" target="_blank">Chapter 12</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-13-of-13" target="_blank">Chapter 13</a></strong></strong></p><p>&nbsp;</p><p>&nbsp;</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/feed&WT.dl=0&WT.entryid=Entry:RSSView:14093071806540b4a0ba9dea0042b105">]]></description>
      <comments>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-12-of-13</comments>
      <itunes:summary>In Chapter 12, Lazy Evaluation, Dr. Meijer takes us on a journey into the world of order of evaluation (when expressions are evaluated). In the case of lazy evaluation, computation is delayed until the result of the computation is known to be&amp;nbsp;required. Most programming languages that most of you use day to day use eager or strict evaluation, which is theopposite of lazy evaluation. In the strict evaluation world, expressions are evaluated as soon as they are bound to a variable (this is also known as greedy evaluation). In Haskell, laziness is first class!Tune in. Learn and enjoy!Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 &amp;nbsp; &amp;nbsp; </itunes:summary>
      <itunes:duration>2843</itunes:duration>
      <link>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-12-of-13</link>
      <pubDate>Fri, 18 Dec 2009 01:00:00 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-12-of-13</guid>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/100/504215_100x75.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/220/504215_220x165.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/5/1/2/4/0/5/C9LecturesErikMeijerFPC12_512_ch9.png" height="384" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/1/2/4/0/5/C9LecturesErikMeijerFPC12_2MB_ch9.wmv" expression="full" duration="2843" fileSize="783020019" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/1/2/4/0/5/C9LecturesErikMeijerFPC12_ch9.mp3" expression="full" duration="2843" fileSize="22748483" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/1/2/4/0/5/C9LecturesErikMeijerFPC12_ch9.mp4" expression="full" duration="2843" fileSize="331105991" type="video/mp4" medium="video"></media:content>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/1/2/4/0/5/C9LecturesErikMeijerFPC12_ch9.wma" expression="full" duration="2843" fileSize="23000591" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/1/2/4/0/5/C9LecturesErikMeijerFPC12_ch9.wmv" expression="full" duration="2843" fileSize="465549329" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://ecn.channel9.msdn.com/o9/ch9/5/1/2/4/0/5/C9LecturesErikMeijerFPC12_ch9.wmv" length="465549329" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Charles</dc:creator>
      <itunes:author>Charles</itunes:author>
      <slash:comments>16</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-12-of-13/RSS</wfw:commentRss>
      <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. Graham Hutton - Functional Programming Fundamentals Chapter 11 of 13</title>
      <description><![CDATA[<p>Yes. You read the title correctly! For today's lecture&nbsp;in the&nbsp;Functional Programming Fundamentals series of lectures the great&nbsp;Dr. <a href="http://www.cs.nott.ac.uk/~gmh" shape="rect" target="_blank">Graham Hutton</a>, author of the&nbsp;<a href="http://www.cs.nott.ac.uk/~gmh/book.html" shape="rect" target="_blank">Programming in Haskell</a> book that Dr. Erik Meijer has based&nbsp;this&nbsp;lecture series on, <strong>is guest lecturing Chapter 11 - The Countdown Problem!</strong> Thank you, Graham! What an honor and a treat to have you on Channel 9, especially in this context. <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /><br><br>This lecture was filmed in Dr. Hutton's office at the&nbsp;<a href="http://www.nottingham.ac.uk/" shape="rect" target="_blank">University of Nottingham</a>. What is the Countdown Problem, exactly?&nbsp;It's a&nbsp;numbers game, based loosely on a very popular television series. The point is that you will need to use, well, functions to solve the Countdown Problem.&nbsp;Of course, it&nbsp;goes without saying that Haskell is very well suited to solve these kinds of problems. <br><br>Tune in and learn from a Haskell master. It should be clear that you will want to have had gone through the earlier episodes (if you are beginning with functional programming and Haskell, specifically) to get the most out of this lecture. That said, it's quite amazing to learn directly from the author himself. What a nice surprise!<br><br>Enjoy!<br><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"><strong>Chapter 1</strong></a> <br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" shape="rect" target="_blank">Chapter 2</a> <br></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" shape="rect" target="_blank">Chapter 3</a> <br></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/" shape="rect" target="_blank">Chapter 4</a> </strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/" shape="rect" target="_blank"><br>Chapter 5</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13/" shape="rect" target="_blank">Chapter 6</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13/" shape="rect" target="_blank">Chapter 7</a></strong> <br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-8-of-13/" shape="rect" target="_self">Chapter 8</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-9-of-13" target="_blank">Chapter 9</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13" target="_blank">Chapter 10</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Graham-Hutton-Functional-Programming-Fundamentals-Chapter-11-of-13" target="_blank">Chapter 11</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-12-of-13" target="_blank">Chapter 12</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-13-of-13" target="_blank">Chapter 13</a></strong></strong></p><p>&nbsp;</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/feed&WT.dl=0&WT.entryid=Entry:RSSView:9bff5ce15d774133b7d19dea0042b414">]]></description>
      <comments>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Graham-Hutton-Functional-Programming-Fundamentals-Chapter-11-of-13</comments>
      <itunes:summary>Yes. You read the title correctly! For today&#39;s lecture&amp;nbsp;in the&amp;nbsp;Functional Programming Fundamentals series of lectures the great&amp;nbsp;Dr. Graham Hutton, author of the&amp;nbsp;Programming in Haskell book that Dr. Erik Meijer has based&amp;nbsp;this&amp;nbsp;lecture series on, is guest lecturing Chapter 11 - The Countdown Problem! Thank you, Graham! What an honor and a treat to have you on Channel 9, especially in this context. This lecture was filmed in Dr. Hutton&#39;s office at the&amp;nbsp;University of Nottingham. What is the Countdown Problem, exactly?&amp;nbsp;It&#39;s a&amp;nbsp;numbers game, based loosely on a very popular television series. The point is that you will need to use, well, functions to solve the Countdown Problem.&amp;nbsp;Of course, it&amp;nbsp;goes without saying that Haskell is very well suited to solve these kinds of problems. Tune in and learn from a Haskell master. It should be clear that you will want to have had gone through the earlier episodes (if you are beginning with functional programming and Haskell, specifically) to get the most out of this lecture. That said, it&#39;s quite amazing to learn directly from the author himself. What a nice surprise!Enjoy!Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 &amp;nbsp; </itunes:summary>
      <itunes:duration>2966</itunes:duration>
      <link>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Graham-Hutton-Functional-Programming-Fundamentals-Chapter-11-of-13</link>
      <pubDate>Thu, 10 Dec 2009 19:15:00 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Graham-Hutton-Functional-Programming-Fundamentals-Chapter-11-of-13</guid>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/100/504214_100x75.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/220/504214_220x165.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/4/1/2/4/0/5/C9LecturesFPGrahamHuttonC11_512_ch9.png" height="384" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/4/1/2/4/0/5/C9LecturesFPGrahamHuttonC11_2MB_ch9.wmv" expression="full" duration="2966" fileSize="878535233" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/4/1/2/4/0/5/C9LecturesFPGrahamHuttonC11_ch9.mp3" expression="full" duration="2966" fileSize="23736752" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/4/1/2/4/0/5/C9LecturesFPGrahamHuttonC11_ch9.mp4" expression="full" duration="2966" fileSize="269197788" type="video/mp4" medium="video"></media:content>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/4/1/2/4/0/5/C9LecturesFPGrahamHuttonC11_ch9.wma" expression="full" duration="2966" fileSize="24006937" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/4/1/2/4/0/5/C9LecturesFPGrahamHuttonC11_ch9.wmv" expression="full" duration="2966" fileSize="401887057" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://ecn.channel9.msdn.com/o9/ch9/4/1/2/4/0/5/C9LecturesFPGrahamHuttonC11_ch9.wmv" length="401887057" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Charles</dc:creator>
      <itunes:author>Charles</itunes:author>
      <slash:comments>18</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Graham-Hutton-Functional-Programming-Fundamentals-Chapter-11-of-13/RSS</wfw:commentRss>
      <category>C9 Lectures</category>
      <category>Functional Programming</category>
      <category>Graham Hutton</category>
      <category>Haskell</category>
      <category>Programming Languages</category>
    </item>
  <item>
      <title>C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals Chapter 10 of 13</title>
      <description><![CDATA[<p>In <strong>Chapter 10, Declaring Types and Classes</strong>, Dr. Meijer teaches us about type declarations, data declarations, arithmetic expressions, etc.&nbsp;&nbsp;In Haskell, a new name for an existing type can be defined using a<br><em>type declaration:<br></em><strong><br>type String = [Char]<br></strong><br>String is a synonym for the type [Char].<br><br>Like function definitions, type declarations can also have <em>parameters.</em> Type declarations can be nested, but<br><em>not</em> recursive.<br><br>Nested:<br><br><strong>type Pos&nbsp;&nbsp; = (Int,Int)</strong></p><p><strong>type Trans = Pos -&gt;&nbsp;Pos</strong><br><br>Illegal recursion:<br><br><strong>type Tree = (Int,[Tree])</strong><br><br>A completely new type can be defined by specifying its values using a <em>data declaration:<br><br></em><strong>data Bool = False | True</strong><br><br>Bool is a new type, with two new values False and True.<br><br>Get the presentation slides <a href="http://www.cs.nott.ac.uk/~gmh/book.html#slides" shape="rect" target="_blank"><strong>here</strong></a><br><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"><strong>Chapter 1</strong></a> <br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" shape="rect" target="_blank">Chapter 2</a> <br></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" shape="rect" target="_blank">Chapter 3</a> <br></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/" shape="rect" target="_blank">Chapter 4</a> </strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/" shape="rect" target="_blank"><br>Chapter 5</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13/" shape="rect" target="_blank">Chapter 6</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13/" shape="rect" target="_blank">Chapter 7</a></strong> <br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-8-of-13/" shape="rect" target="_self">Chapter 8</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-9-of-13" target="_blank">Chapter 9</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13" target="_blank">Chapter 10</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Graham-Hutton-Functional-Programming-Fundamentals-Chapter-11-of-13" target="_blank">Chapter 11</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-12-of-13" target="_blank">Chapter 12</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-13-of-13" target="_blank">Chapter 13</a></strong></strong></p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/feed&WT.dl=0&WT.entryid=Entry:RSSView:62fd6d156240415bbdf49dea0042b854">]]></description>
      <comments>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13</comments>
      <itunes:summary>In Chapter 10, Declaring Types and Classes, Dr. Meijer teaches us about type declarations, data declarations, arithmetic expressions, etc.&amp;nbsp;&amp;nbsp;In Haskell, a new name for an existing type can be defined using atype declaration:type String = [Char]String is a synonym for the type [Char].Like function definitions, type declarations can also have parameters. Type declarations can be nested, butnot recursive.Nested:type Pos&amp;nbsp;&amp;nbsp; = (Int,Int) type Trans = Pos -&amp;gt;&amp;nbsp;PosIllegal recursion:type Tree = (Int,[Tree])A completely new type can be defined by specifying its values using a data declaration:data Bool = False | TrueBool is a new type, with two new values False and True.Get the presentation slides hereChapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 </itunes:summary>
      <itunes:duration>2707</itunes:duration>
      <link>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13</link>
      <pubDate>Tue, 08 Dec 2009 00:38:00 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13</guid>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/100/504213_100x75.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/220/504213_220x165.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/3/1/2/4/0/5/C9LecturesMeijerFPC10_512_ch9.png" height="384" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/3/1/2/4/0/5/C9LecturesMeijerFPC10_2MB_ch9.wmv" expression="full" duration="2707" fileSize="1054212848" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/3/1/2/4/0/5/C9LecturesMeijerFPC10_ch9.mp3" expression="full" duration="2707" fileSize="21658863" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/3/1/2/4/0/5/C9LecturesMeijerFPC10_ch9.mp4" expression="full" duration="2707" fileSize="296525245" type="video/mp4" medium="video"></media:content>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/3/1/2/4/0/5/C9LecturesMeijerFPC10_ch9.wma" expression="full" duration="2707" fileSize="21898129" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/3/1/2/4/0/5/C9LecturesMeijerFPC10_ch9.wmv" expression="full" duration="2707" fileSize="412907417" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://ecn.channel9.msdn.com/o9/ch9/3/1/2/4/0/5/C9LecturesMeijerFPC10_ch9.wmv" length="412907417" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Charles</dc:creator>
      <itunes:author>Charles</itunes:author>
      <slash:comments>8</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13/RSS</wfw:commentRss>
      <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 9 of 13</title>
      <description><![CDATA[<p>In <strong>Chapter 9</strong>, <strong>Interactive Programs</strong>, Dr. Meijer will teach us how to make programs in Haskell that are side-effecting:<br><em>interactive</em>. 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.<br><br>Consider the following:<br><strong><br>IO a<br></strong><em>The type of actions that return values of type a</em></p><p><strong>IO Char<br></strong><em>The type of actions that return a character<br><br></em><strong>IO()<br></strong><em>The type of purely side effecting actions that return no result value|<br></em><br><strong>Warning</strong>: This lecture may contain the use of the term Monad. Do not fear. Everything will be OK. <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /><br><br>You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):<br><br>Get the presentation slides <a href="http://www.cs.nott.ac.uk/~gmh/book.html#slides" shape="rect" target="_blank"><strong>here</strong></a><br><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"><strong>Chapter 1</strong></a> <br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" shape="rect" target="_blank">Chapter 2</a> <br></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" shape="rect" target="_blank">Chapter 3</a> <br></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/" shape="rect" target="_blank">Chapter 4</a> </strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/" shape="rect" target="_blank"><br>Chapter 5</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13/" shape="rect" target="_blank">Chapter 6</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13/" shape="rect" target="_blank">Chapter 7</a></strong> <br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-8-of-13/" shape="rect" target="_self">Chapter 8</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-9-of-13" target="_blank">Chapter 9</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13" target="_blank">Chapter 10</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Graham-Hutton-Functional-Programming-Fundamentals-Chapter-11-of-13" target="_blank">Chapter 11</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-12-of-13" target="_blank">Chapter 12</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-13-of-13" target="_blank">Chapter 13</a></strong></strong></p><p>&nbsp;</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/feed&WT.dl=0&WT.entryid=Entry:RSSView:4e9edd12d3fa49bfb1609dea0042bbaf">]]></description>
      <comments>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-9-of-13</comments>
      <itunes:summary>In Chapter 9, Interactive Programs, 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.Consider the following:IO aThe type of actions that return values of type a IO CharThe type of actions that return a characterIO()The type of purely side effecting actions that return no result value|Warning: This lecture may contain the use of the term Monad. Do not fear. Everything will be OK. You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):Get the presentation slides hereChapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 &amp;nbsp; </itunes:summary>
      <itunes:duration>2526</itunes:duration>
      <link>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/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://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-9-of-13</guid>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/100/504212_100x75.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/220/504212_220x165.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/2/1/2/4/0/5/C9LecturesMeijerFPC9_512_ch9.png" height="384" width="512"></media:thumbnail>
      <media:group>
        <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>
        <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>
        <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>
        <media:content 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>
        <media:content 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>
      </media:group>      
      <enclosure url="http://ecn.channel9.msdn.com/o9/ch9/2/1/2/4/0/5/C9LecturesMeijerFPC9_ch9.wmv" length="424904891" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Charles</dc:creator>
      <itunes:author>Charles</itunes:author>
      <slash:comments>44</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-9-of-13/RSS</wfw:commentRss>
      <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><![CDATA[<p>In <strong>Chapter 8</strong>, <strong>Functional Parsers</strong>, 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<br>be viewed as functions.<br><br>&nbsp; type Parser = String&nbsp;-&gt; Tree<br><br>A parser is a function that takes a string and returns some form of tree.<br><br>You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):<br><br>Get the presentation slides <a href="http://www.cs.nott.ac.uk/~gmh/book.html#slides" shape="rect" target="_blank"><strong>here</strong></a><br><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"><strong>Chapter 1</strong></a> <br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" shape="rect" target="_blank">Chapter 2</a> <br></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" shape="rect" target="_blank">Chapter 3</a> <br></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/" shape="rect" target="_blank">Chapter 4</a> </strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/" shape="rect" target="_blank"><br>Chapter 5</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13/" shape="rect" target="_blank">Chapter 6</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13/" shape="rect" target="_blank">Chapter 7</a></strong> <br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-8-of-13/" shape="rect" target="_self">Chapter 8</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-9-of-13" target="_blank">Chapter 9</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13" target="_blank">Chapter 10</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Graham-Hutton-Functional-Programming-Fundamentals-Chapter-11-of-13" target="_blank">Chapter 11</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-12-of-13" target="_blank">Chapter 12</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-13-of-13" target="_blank">Chapter 13</a></strong></strong></p><p>&nbsp;</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/feed&WT.dl=0&WT.entryid=Entry:RSSView:53326470103b41aeb8259dea0042c200">]]></description>
      <comments>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-8-of-13</comments>
      <itunes:summary>In Chapter 8, Functional Parsers, it&#39;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 naturallybe viewed as functions.&amp;nbsp; type Parser = String&amp;nbsp;-&amp;gt; TreeA parser is a function that takes a string and returns some form of tree.You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):Get the presentation slides hereChapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 &amp;nbsp; </itunes:summary>
      <itunes:duration>3287</itunes:duration>
      <link>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/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://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-8-of-13</guid>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/100/504211_100x75.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/220/504211_220x165.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_512_ch9.png" height="384" width="512"></media:thumbnail>
      <media:group>
        <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>
        <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>
        <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>
        <media:content 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>
        <media:content 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>
      </media:group>      
      <enclosure url="http://ecn.channel9.msdn.com/o9/ch9/1/1/2/4/0/5/C9LecturesMeijerC8_ch9.wmv" length="570803545" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Charles</dc:creator>
      <itunes:author>Charles</itunes:author>
      <slash:comments>22</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-8-of-13/RSS</wfw:commentRss>
      <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><![CDATA[<p>In <strong>Chapter 7</strong>, Dr. Meijer teaches us about <strong>Higher-Order Functions</strong>. A function is called higher-order if it takes a function as an argument and returns a function as a result:<br><br>twice&nbsp;&nbsp;&nbsp;&nbsp;:: (a&nbsp;-&gt; a)&nbsp;-&gt; a -&gt; a<br>twice f x = f (f x)<br><br>The function twice above&nbsp;is higher order because it takes a function&nbsp;(f&nbsp;x) as it first argument and returns a function (f(fx))&nbsp;<br><br>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. <br><br>You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):<br><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"><strong>Chapter 1</strong></a> <br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" shape="rect" target="_blank">Chapter 2</a> <br></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" shape="rect" target="_blank">Chapter 3</a> <br></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/" shape="rect" target="_blank">Chapter 4</a> </strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/" shape="rect" target="_blank"><br>Chapter 5</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13/" shape="rect" target="_blank">Chapter 6</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13/" shape="rect" target="_blank">Chapter 7</a></strong> <br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-8-of-13/" shape="rect" target="_self">Chapter 8</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-9-of-13" target="_blank">Chapter 9</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13" target="_blank">Chapter 10</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Graham-Hutton-Functional-Programming-Fundamentals-Chapter-11-of-13" target="_blank">Chapter 11</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-12-of-13" target="_blank">Chapter 12</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-13-of-13" target="_blank">Chapter 13</a></strong></strong></p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/feed&WT.dl=0&WT.entryid=Entry:RSSView:f90618fee3ed45fd85ff9dea0042c651">]]></description>
      <comments>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13</comments>
      <itunes:summary>In Chapter 7, Dr. Meijer teaches us about Higher-Order Functions. A function is called higher-order if it takes a function as an argument and returns a function as a result:twice&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:: (a&amp;nbsp;-&amp;gt; a)&amp;nbsp;-&amp;gt; a -&amp;gt; atwice f x = f (f x)The function twice above&amp;nbsp;is higher order because it takes a function&amp;nbsp;(f&amp;nbsp;x) as it first argument and returns a function (f(fx))&amp;nbsp;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. You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 </itunes:summary>
      <itunes:duration>2747</itunes:duration>
      <link>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/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://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13</guid>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/100/504209_100x75.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/220/504209_220x165.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_512_ch9.png" height="384" width="512"></media:thumbnail>
      <media:group>
        <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>
        <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>
        <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>
        <media:content 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>
        <media:content 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>
      </media:group>      
      <enclosure url="http://ecn.channel9.msdn.com/o9/ch9/9/0/2/4/0/5/C9LecturesMeijerFPC7_ch9.wmv" length="387323991" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Charles</dc:creator>
      <itunes:author>Charles</itunes:author>
      <slash:comments>16</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13/RSS</wfw:commentRss>
      <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 6 of 13</title>
      <description><![CDATA[<p>In <strong>Chapter 6</strong>, Dr. Meijer guides us through the world of&nbsp;<strong>recursive functions</strong>.&nbsp;In Haskell, functions can be defined <em>in terms of themselves</em>.&nbsp; Such functions are called recursive.</p><p>For example:&nbsp;<br><br>factorial 0&nbsp;= 1<br>factorial (n&#43;1) = (n&#43;1) * factorial n<br><br>factorial maps 0 to 1, and any other positive integer to the product of itself and the factorial of its predecessor.</p><p>Some functions, such as factorial, are simpler to define in terms of other functions. As we shall see, however, many functions can naturally be defined in terms of themselves.</p><p>Properties of functions defined using recursion can be proved using the simple but powerful mathematical technique of induction.<br><br>You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):<br><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"><strong>Chapter 1</strong></a> <br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" shape="rect" target="_blank">Chapter 2</a> <br></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" shape="rect" target="_blank">Chapter 3</a> <br></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/" shape="rect" target="_blank">Chapter 4</a> </strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/" shape="rect" target="_blank"><br>Chapter 5</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13/" shape="rect" target="_blank">Chapter 6</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13/" shape="rect" target="_blank">Chapter 7</a></strong> <br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-8-of-13/" shape="rect" target="_self">Chapter 8</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-9-of-13" target="_blank">Chapter 9</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13" target="_blank">Chapter 10</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Graham-Hutton-Functional-Programming-Fundamentals-Chapter-11-of-13" target="_blank">Chapter 11</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-12-of-13" target="_blank">Chapter 12</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-13-of-13" target="_blank">Chapter 13</a></strong></strong></p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/feed&WT.dl=0&WT.entryid=Entry:RSSView:7ccf23a9609f45b2ba0a9dea0042d2bb">]]></description>
      <comments>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13</comments>
      <itunes:summary>In Chapter 6, Dr. Meijer guides us through the world of&amp;nbsp;recursive functions.&amp;nbsp;In Haskell, functions can be defined in terms of themselves.&amp;nbsp; Such functions are called recursive. For example:&amp;nbsp;factorial 0&amp;nbsp;= 1factorial (n&amp;#43;1) = (n&amp;#43;1) * factorial nfactorial maps 0 to 1, and any other positive integer to the product of itself and the factorial of its predecessor. Some functions, such as factorial, are simpler to define in terms of other functions. As we shall see, however, many functions can naturally be defined in terms of themselves. Properties of functions defined using recursion can be proved using the simple but powerful mathematical technique of induction.You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 </itunes:summary>
      <itunes:duration>2613</itunes:duration>
      <link>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13</link>
      <pubDate>Thu, 05 Nov 2009 15:53:00 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13</guid>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/100/499066_100x75.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/220/499066_220x165.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/6/6/0/9/9/4/C9LecturesErikMeijerFPC6_512_ch9.png" height="384" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/6/0/9/9/4/C9LecturesErikMeijerFPC6_2MB_ch9.wmv" expression="full" duration="2613" fileSize="1017554623" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/6/0/9/9/4/C9LecturesErikMeijerFPC6_ch9.mp3" expression="full" duration="2613" fileSize="20908824" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/6/0/9/9/4/C9LecturesErikMeijerFPC6_ch9.mp4" expression="full" duration="2613" fileSize="278662720" type="video/mp4" medium="video"></media:content>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/6/0/9/9/4/C9LecturesErikMeijerFPC6_ch9.wma" expression="full" duration="2613" fileSize="21141115" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/6/6/0/9/9/4/C9LecturesErikMeijerFPC6_ch9.wmv" expression="full" duration="2613" fileSize="382762109" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://ecn.channel9.msdn.com/o9/ch9/6/6/0/9/9/4/C9LecturesErikMeijerFPC6_ch9.wmv" length="382762109" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Charles</dc:creator>
      <itunes:author>Charles</itunes:author>
      <slash:comments>25</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13/RSS</wfw:commentRss>
      <category>C9 Lectures</category>
      <category>Erik Meijer</category>
      <category>Functional Programming</category>
      <category>Haskell</category>
    </item>
  <item>
      <title>C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals Chapter 5 of 13</title>
      <description><![CDATA[<p>In <strong>Chapter 5</strong>, Dr. Meijer introduces and digs into <strong>List Comprehensions</strong>. 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<br>comprehension syntax:<br><br>[x^2 | x &lt;- [1..5]]<br><br>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 &lt;- [1..5] syntax is known as a<br><strong>generator</strong> and list comprehensions can have mulitple generators that can have explicit dependencies on other generators. You will also learn about<br><strong>guards</strong>, which restrict values created by earlier generators.<br><br>You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):<br><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"><strong>Chapter 1</strong></a> <br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" shape="rect" target="_blank">Chapter 2</a> <br></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" shape="rect" target="_blank">Chapter 3</a> <br></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/" shape="rect" target="_blank">Chapter 4</a> </strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/" shape="rect" target="_blank"><br>Chapter 5</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13/" shape="rect" target="_blank">Chapter 6</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13/" shape="rect" target="_blank">Chapter 7</a></strong> <br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-8-of-13/" shape="rect" target="_self">Chapter 8</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-9-of-13" target="_blank">Chapter 9</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13" target="_blank">Chapter 10</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Graham-Hutton-Functional-Programming-Fundamentals-Chapter-11-of-13" target="_blank">Chapter 11</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-12-of-13" target="_blank">Chapter 12</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-13-of-13" target="_blank">Chapter 13</a></strong></strong></p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/feed&WT.dl=0&WT.entryid=Entry:RSSView:c72d1cee113d4089845a9dea0042d744">]]></description>
      <comments>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13</comments>
      <itunes:summary>In Chapter 5, Dr. Meijer introduces and digs into List Comprehensions. 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 similarcomprehension syntax:[x^2 | x &amp;lt;- [1..5]]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 agenerator and list comprehensions can have mulitple generators that can have explicit dependencies on other generators. You will also learn aboutguards, which restrict values created by earlier generators.You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 </itunes:summary>
      <itunes:duration>1916</itunes:duration>
      <link>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/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://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13</guid>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/100/498918_100x75.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/220/498918_220x165.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_512_ch9.png" height="384" width="512"></media:thumbnail>
      <media:group>
        <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>
        <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>
        <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>
        <media:content 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>
        <media:content 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>
      </media:group>      
      <enclosure url="http://ecn.channel9.msdn.com/o9/ch9/8/1/9/8/9/4/C9LecturesMeijerFPC5_ch9.wmv" length="285824351" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Charles</dc:creator>
      <itunes:author>Charles</itunes:author>
      <slash:comments>30</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/RSS</wfw:commentRss>
      <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 4 of 13</title>
      <description><![CDATA[<p>In <strong>Chapter 4</strong>, Dr. Meijer teaches us about the art and practice of <strong>defining functions</strong>. Functions can be defined using conditional expressions and in Haskell conditional expressions must <em>always</em> have an else clause. Functions can also be defined using guarded equations and pattern matching. You will learn about list patterns and&nbsp;integer patterns. Today is also the day that you will learn about<br><strong>lambda expressions and sections.</strong><br><br>You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):<br><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"><strong>Chapter 1</strong></a> <br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" shape="rect" target="_blank">Chapter 2</a> <br></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" shape="rect" target="_blank">Chapter 3</a> <br></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/" shape="rect" target="_blank">Chapter 4</a> </strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/" shape="rect" target="_blank"><br>Chapter 5</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13/" shape="rect" target="_blank">Chapter 6</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13/" shape="rect" target="_blank">Chapter 7</a></strong> <br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-8-of-13/" shape="rect" target="_self">Chapter 8</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-9-of-13" target="_blank">Chapter 9</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13" target="_blank">Chapter 10</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Graham-Hutton-Functional-Programming-Fundamentals-Chapter-11-of-13" target="_blank">Chapter 11</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-12-of-13" target="_blank">Chapter 12</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-13-of-13" target="_blank">Chapter 13</a></strong></strong></p><p>&nbsp;</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/feed&WT.dl=0&WT.entryid=Entry:RSSView:4de4a271139645ec8a3b9dea0042dd3d">]]></description>
      <comments>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13</comments>
      <itunes:summary>In Chapter 4, Dr. Meijer teaches us about the art and practice of defining functions. Functions can be defined using conditional expressions and in Haskell conditional expressions must always have an else clause. Functions can also be defined using guarded equations and pattern matching. You will learn about list patterns and&amp;nbsp;integer patterns. Today is also the day that you will learn aboutlambda expressions and sections.You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 &amp;nbsp; </itunes:summary>
      <itunes:duration>3659</itunes:duration>
      <link>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/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://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13</guid>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/100/498917_100x75.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/220/498917_220x165.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_512_ch9.png" height="384" width="512"></media:thumbnail>
      <media:group>
        <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>
        <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>
        <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>
        <media:content 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>
        <media:content 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>
      </media:group>      
      <enclosure url="http://ecn.channel9.msdn.com/o9/ch9/7/1/9/8/9/4/C9LecturesMeijerFPC4_ch9.wmv" length="631512753" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Charles</dc:creator>
      <itunes:author>Charles</itunes:author>
      <slash:comments>31</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/RSS</wfw:commentRss>
      <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><![CDATA[<p>In <strong>Chapter 3</strong>, Dr. Meijer explores <strong>types and classes in Haskell</strong>. 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<br>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<br>functions are values, remember) and polymorphic functions (function with a type that contains one or more type variables).<br><br>You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):<br><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"><strong>Chapter 1</strong></a> <br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" shape="rect" target="_blank">Chapter 2</a> <br></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" shape="rect" target="_blank">Chapter 3</a> <br></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/" shape="rect" target="_blank">Chapter 4</a> </strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/" shape="rect" target="_blank"><br>Chapter 5</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13/" shape="rect" target="_blank">Chapter 6</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13/" shape="rect" target="_blank">Chapter 7</a></strong> <br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-8-of-13/" shape="rect" target="_self">Chapter 8</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-9-of-13" target="_blank">Chapter 9</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13" target="_blank">Chapter 10</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Graham-Hutton-Functional-Programming-Fundamentals-Chapter-11-of-13" target="_blank">Chapter 11</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-12-of-13" target="_blank">Chapter 12</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-13-of-13" target="_blank">Chapter 13</a></strong></strong></p><p>&nbsp;</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/feed&WT.dl=0&WT.entryid=Entry:RSSView:86c52c218488457f977d9dea0042f84a">]]></description>
      <comments>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13</comments>
      <itunes:summary>In Chapter 3, Dr. Meijer explores types and classes in Haskell. 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. Ifexpression 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 (andfunctions are values, remember) and polymorphic functions (function with a type that contains one or more type variables).You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 &amp;nbsp; </itunes:summary>
      <itunes:duration>2610</itunes:duration>
      <link>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/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://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13</guid>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/100/495716_100x75.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/220/495716_220x165.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_512_ch9.png" height="384" width="512"></media:thumbnail>
      <media:group>
        <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>
        <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>
        <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>
        <media:content 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>
        <media:content 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>
      </media:group>      
      <enclosure url="http://ecn.channel9.msdn.com/o9/ch9/6/1/7/5/9/4/C9LecturesMeijerFPC3_ch9.wmv" length="322202073" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Charles</dc:creator>
      <itunes:author>Charles</itunes:author>
      <slash:comments>54</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/RSS</wfw:commentRss>
      <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 2 of 13</title>
      <description><![CDATA[<p>In <strong>Chapter 2</strong>, Dr. Meijer introduces Haskell syntax and notation&nbsp;(via a Haskell implementation called Hugs, to be precise, which is based on Haskell 98) and we learn about the Haskell syntax that represents the fundamental construct of functional programming:<br>functions. It's not like you're used to in mathematics&nbsp;like&nbsp;<em>f(x)</em>. Instead, in Haskell, a function is denoted without parentheses:<br><em>f x</em>. So, given the almost OCD requirement by Haskell language designers to eliminate<br><em>any</em> unnecessary clutter in the language, parentheses are replaced by space. Also, in mathematics, you're accustomed to multiplication expressed either as xy or x y. In Haskell, since space denotes a function, multiplication is denoted with a *, like<br>x*y...<br><br>You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):<br><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/" target="_blank"><strong>Chapter 1</strong></a> <br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" shape="rect" target="_blank">Chapter 2</a> <br></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" shape="rect" target="_blank">Chapter 3</a> <br></strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/" shape="rect" target="_blank">Chapter 4</a> </strong><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/" shape="rect" target="_blank"><br>Chapter 5</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13/" shape="rect" target="_blank">Chapter 6</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13/" shape="rect" target="_blank">Chapter 7</a></strong> <br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-8-of-13/" shape="rect" target="_self">Chapter 8</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-9-of-13" target="_blank">Chapter 9</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13" target="_blank">Chapter 10</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Graham-Hutton-Functional-Programming-Fundamentals-Chapter-11-of-13" target="_blank">Chapter 11</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-12-of-13" target="_blank">Chapter 12</a></strong> <br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-13-of-13" target="_blank">Chapter 13</a></strong></strong></p><p>&nbsp;</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/feed&WT.dl=0&WT.entryid=Entry:RSSView:b6c7800f45744fb0bfa19dea00430658">]]></description>
      <comments>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2</comments>
      <itunes:summary>In Chapter 2, Dr. Meijer introduces Haskell syntax and notation&amp;nbsp;(via a Haskell implementation called Hugs, to be precise, which is based on Haskell 98) and we learn about the Haskell syntax that represents the fundamental construct of functional programming:functions. It&#39;s not like you&#39;re used to in mathematics&amp;nbsp;like&amp;nbsp;f(x). Instead, in Haskell, a function is denoted without parentheses:f x. So, given the almost OCD requirement by Haskell language designers to eliminateany unnecessary clutter in the language, parentheses are replaced by space. Also, in mathematics, you&#39;re accustomed to multiplication expressed either as xy or x y. In Haskell, since space denotes a function, multiplication is denoted with a *, likex*y...You should watch these in sequence (or skip around depending on your curent level of knowledge in this domain):Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 &amp;nbsp; </itunes:summary>
      <itunes:duration>3061</itunes:duration>
      <link>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2</link>
      <pubDate>Thu, 08 Oct 2009 15:33:00 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2</guid>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/100/494398_100x75.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/220/494398_220x165.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/8/9/3/4/9/4/C9LecturesMeijerFPC2_512_ch9.png" height="384" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/9/3/4/9/4/C9LecturesMeijerFPC2_2MB_ch9.wmv" expression="full" duration="3061" fileSize="616708939" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/9/3/4/9/4/C9LecturesMeijerFPC2_ch9.mp3" expression="full" duration="3061" fileSize="24489482" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/9/3/4/9/4/C9LecturesMeijerFPC2_ch9.mp4" expression="full" duration="3061" fileSize="322302235" type="video/mp4" medium="video"></media:content>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/9/3/4/9/4/C9LecturesMeijerFPC2_ch9.wma" expression="full" duration="3061" fileSize="24757937" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/9/3/4/9/4/C9LecturesMeijerFPC2_ch9.wmv" expression="full" duration="3061" fileSize="443120373" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://ecn.channel9.msdn.com/o9/ch9/8/9/3/4/9/4/C9LecturesMeijerFPC2_ch9.wmv" length="443120373" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Charles</dc:creator>
      <itunes:author>Charles</itunes:author>
      <slash:comments>61</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/RSS</wfw:commentRss>
      <category>C9 Lectures</category>
      <category>Erik Meijer</category>
      <category>Functional Programming</category>
      <category>Haskell</category>
    </item>
  <item>
      <title>C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals, Chapter 1 of 13</title>
      <description><![CDATA[<p>Welcome to&nbsp;a new technical series on Channel 9 folded into a different kind of 9 format: <em><strong>C9 Lectures</strong>. </em>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&nbsp;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)&nbsp;on a single topic.<br><br>We kick off C9 Lectures with a journey into the world of Functional Programming with functional language purist and&nbsp;high priest of the lambda calculus,&nbsp;Dr.&nbsp;<a href="http://research.microsoft.com/~emeijer/" shape="rect" target="_blank">Erik Meijer</a>&nbsp;(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).&nbsp;<br><br><strong>Lecture Context</strong>:<br><br>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&nbsp;language&nbsp;to join the&nbsp;Visual Studio&nbsp;family of languages, F#, <em>is</em> a functional language.&nbsp;You've heard us say how important functional language constructs are to the our current languages'&nbsp;capabilities to evolve in the right direction to meet the needs of the many-core future (the need for reliable and comprehensible&nbsp;concurrency, parallelism, etc) and,<em> most importantly</em>, 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 <em>fundamentals</em> of functional programming at a level equivalent to any university. We even have a text book and professor who will expand our minds.<br><br>Dr. Erik Meijer&nbsp;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...).</p><p>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.<br><br>Welcome to C9 Lectures. Enjoy and learn, learn, learn.<br><br><strong>ALWAYS</strong> 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!<br><br>Welcome to C9 Lectures!<br><br>See the rest of this great series:</p><p><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-2/" shape="rect" target="_blank">Chapter 2</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-3-of-13/" shape="rect" target="_blank">Chapter 3</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/" shape="rect" target="_blank">Chapter 4</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-5-of-13/" shape="rect" target="_blank">Chapter 5</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-6-of-13/" shape="rect" target="_blank">Chapter 6</a> </strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-7-of-13/" shape="rect" target="_blank">Chapter 7</a></strong><br><strong><a href="http://channel9.msdn.com/shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-8-of-13/" shape="rect" target="_self">Chapter 8</a></strong><br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-9-of-13" target="_blank">Chapter 9</a></strong><br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13" target="_blank">Chapter 10</a></strong><br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Graham-Hutton-Functional-Programming-Fundamentals-Chapter-11-of-13" target="_blank">Chapter 11</a></strong><br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-12-of-13" target="_blank">Chapter 12</a></strong><br><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-13-of-13" target="_blank">Chapter 13</a></strong></p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/feed&WT.dl=0&WT.entryid=Entry:RSSView:583cf85c5d9b422d99d19dea00430e6d">]]></description>
      <comments>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1</comments>
      <itunes:summary>Welcome to&amp;nbsp;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&#39;re used to on 9), but rather&amp;nbsp;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)&amp;nbsp;on a single topic.We kick off C9 Lectures with a journey into the world of Functional Programming with functional language purist and&amp;nbsp;high priest of the lambda calculus,&amp;nbsp;Dr.&amp;nbsp;Erik Meijer&amp;nbsp;(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).&amp;nbsp;Lecture Context:Over the past two years, you&#39;ve learned a fair amount about the functional programming paradigm&#39;s foray into general purpose imperative progamming languages (LINQ, Lambda&#39;s, etc in C# and VB.NET). And, of course, the newest&amp;nbsp;language&amp;nbsp;to join the&amp;nbsp;Visual Studio&amp;nbsp;family of languages, F#, is a functional language.&amp;nbsp;You&#39;ve heard us say how important functional language constructs are to the our current languages&#39;&amp;nbsp;capabilities to evolve in the right direction to meet the needs of the many-core future (the need for reliable and comprehensible&amp;nbsp;concurrency, parallelism, etc) and, most importantly, 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 fundamentals of functional programming at a level equivalent to any university. We even have a text book and professor who will expand our minds.Dr. Erik Meijer&amp;nbsp;will teach us Functional Programming Fundamentals using Haskell as the language for understanding the basic functional principles (in fact, the specific language isn&#39;t all that im</itunes:summary>
      <itunes:duration>1897</itunes:duration>
      <link>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1</link>
      <pubDate>Thu, 01 Oct 2009 15:50:00 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1</guid>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/100/494397_100x75.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/previewImages/220/494397_220x165.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_512_ch9.png" height="384" width="512"></media:thumbnail>
      <media:group>
        <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>
        <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>
        <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>
        <media:content 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>
        <media:content 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>
      </media:group>      
      <enclosure url="http://ecn.channel9.msdn.com/o9/ch9/7/9/3/4/9/4/C9LecturesMeijerFunctionalChapter1_ch9.wmv" length="316768137" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Charles</dc:creator>
      <itunes:author>Charles</itunes:author>
      <slash:comments>89</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/RSS</wfw:commentRss>
      <category>C9 Lectures</category>
      <category>Erik Meijer</category>
      <category>Functional Programming</category>
      <category>Haskell</category>
      <category>Programming Languages</category>
    </item>    
</channel>
</rss>