<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Comment Feed for Channel 9 - C9 Lectures: Dr. Ralf L&#228;mmel - Going Bananas</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Shows/Going+Deep/C9-Lectures-Dr-Ralf-Lmmel-Going-Bananas/RSS"></atom:link>
	<image>
		<url>http://ak.channel9.msdn.com/ch9/DBA2/F497DB42-5099-4010-8E60-9E700144DBA2/C9LecturesRalfLaemmelGoingBananas_100_ch9.jpg</url>
		<title>Channel 9 - C9 Lectures: Dr. Ralf L&#228;mmel - Going Bananas</title>
		<link></link>
	</image>
	<description> Dr. Ralf L&#228;mmel returns&amp;nbsp;for an&amp;nbsp;exploration of&amp;nbsp;folds, aka bananas. This is lecture 5 in his C9 Lecture series&amp;nbsp; covering advanced&amp;nbsp;functional programming topics.&amp;nbsp;Welcome back, Ralf! We&#39;re so happy to have you here! Why bananas, Ralf? Banana is functional programming slang for &amp;quot;fold&amp;quot;—an application of the catamorphic recursion scheme most widely known in the higher-order list processing tradition of&amp;nbsp;Bird-Meertens Formalism and the Squiggol community. Erik Meijer used to be known as the &amp;quot;banana man&amp;quot; because of his early research on the subject; he also co-authored the seminal paper with theoretical (categorical) foundations on the subject. Incidentally, the paper used the notation of so-called &amp;quot;banana brackets&amp;quot; (instead of using the plain string &amp;quot;foldr&amp;quot;), which sort of explains why we sometimes say bananas. There is no shortage of crazy paper titles on the subject, by the way: &amp;quot;Functional Programming with Bananas, Lenses, Envelopes, and Barbed Wire,&amp;quot; &amp;quot;Bananas in Space: ...,&amp;quot; &amp;quot;Dealing with large bananas,&amp;quot; &amp;quot;Boxes go bananas: ...,&amp;quot; &amp;quot;See more through lenses than bananas,&amp;quot; etc. More to the point, foldr&amp;nbsp;is the Swiss Army Knife in functional programming. Monoidal reductions of lists or mapping over lists and many other list-processing idioms can be modeled with the regular recursion operator foldr. Even a beginning lecture on functional programming would have to discuss foldr. Not discussing foldr in a Haskell course, however, is like not discussing for loops in a C# course. Indeed, the lectures on Graham Hutton&#39;s introductory Haskell course covered the basics of foldr very well. However, a lot more interesting stuff concerning folds or, say, bananas becomes apparent when one becomes fluent in functional programming. For instance, foldr and friends suddenly make sense for container types other than the concrete list type. Foldr and friends even generalize to arbitrary algebraic datatypes in different ways. The combination of folds and monoids also helps us understand key aspects of parallel data processing. These are the more advanced banana subjects that are covered by Ralf L&#228;mmel&#39;s lecture this time. He has also contributed a stack of bananas papers over the years, and he draws from that interest. Learn more:Going Bananas lecture slide&amp;nbsp;deck&amp;nbsp;Download source code for this lectureRalf&#39;s blogFor the exercises/riddles in the slide deck:Slide number (complexity): 12 (medium)18 (medium)21 (medium)23 (easy)24 (hard)31 (hard)34 (easy) </description>
	<link></link>
	<language>en</language>
	<pubDate>Wed, 22 May 2013 04:35:18 GMT</pubDate>
	<lastBuildDate>Wed, 22 May 2013 04:35:18 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: C9 Lectures: Dr. Ralf L&#228;mmel - Going Bananas</title>
		<description>
			<![CDATA[Comment removed at user's request.<p>posted by Deactivated User</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/C9-Lectures-Dr-Ralf-Lmmel-Going-Bananas#c634312347580000000</link>
		<pubDate>Fri, 21 Jan 2011 19:25:58 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/C9-Lectures-Dr-Ralf-Lmmel-Going-Bananas#c634312347580000000</guid>
		<dc:creator>Deactivated User</dc:creator>
	</item>
	<item>
		<title>Re: C9 Lectures: Dr. Ralf L&#228;mmel - Going Bananas</title>
		<description>
			<![CDATA[ <p>Nice lecture, but I do have a suggestion for Ralf. In approximately the first half of the lecture, I found a few transitions to the next slide or point quite fast. Adding a short pause of a second or so might give the viewer a little bit of room to breathe and process all the information.</p><p>Other than that, nice work and I'm looking forward to your next C9 lecture (whenever that may be). <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /></p><p>posted by ShinNoNoir</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/C9-Lectures-Dr-Ralf-Lmmel-Going-Bananas#c634313075090000000</link>
		<pubDate>Sat, 22 Jan 2011 15:38:29 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/C9-Lectures-Dr-Ralf-Lmmel-Going-Bananas#c634313075090000000</guid>
		<dc:creator>ShinNoNoir</dc:creator>
	</item>
	<item>
		<title>Re: C9 Lectures: Dr. Ralf L&#228;mmel - Going Bananas</title>
		<description>
			<![CDATA[ <p>Yes, I think this lecture is packed. I will use your advice on interim breathing space <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /> for the next lecture which is underway. For the while being I can only think of the pause button as a workaround.&nbsp;</p><p>posted by user42</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/C9-Lectures-Dr-Ralf-Lmmel-Going-Bananas#c634313291300000000</link>
		<pubDate>Sat, 22 Jan 2011 21:38:50 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/C9-Lectures-Dr-Ralf-Lmmel-Going-Bananas#c634313291300000000</guid>
		<dc:creator>user42</dc:creator>
	</item>
	<item>
		<title>Re: C9 Lectures: Dr. Ralf L&#228;mmel - Going Bananas</title>
		<description>
			<![CDATA[Links to PDF slides, svn, etc are broken.<br /><p>posted by Fooltomery</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/C9-Lectures-Dr-Ralf-Lmmel-Going-Bananas#c634317787140000000</link>
		<pubDate>Fri, 28 Jan 2011 02:31:54 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/C9-Lectures-Dr-Ralf-Lmmel-Going-Bananas#c634317787140000000</guid>
		<dc:creator>Fooltomery</dc:creator>
	</item>
	<item>
		<title>Re: C9 Lectures: Dr. Ralf L&#228;mmel - Going Bananas</title>
		<description>
			<![CDATA[ <p>@<a href="/Shows/Going&#43;Deep/C9-Lectures-Dr-Ralf-Lmmel-Going-Bananas#c634317787140000000">Fooltomery</a>: this must be a recent change. I will alert Ralf. Thanks!</p><p>C</p><p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/C9-Lectures-Dr-Ralf-Lmmel-Going-Bananas#c634317873610000000</link>
		<pubDate>Fri, 28 Jan 2011 04:56:01 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/C9-Lectures-Dr-Ralf-Lmmel-Going-Bananas#c634317873610000000</guid>
		<dc:creator>Charles</dc:creator>
	</item>
	<item>
		<title>Re: C9 Lectures: Dr. Ralf L&#228;mmel - Going Bananas</title>
		<description>
			<![CDATA[ <p><span id="title-18864806">SourceForge Down After Attack</span></p><p><a href="http://developers.slashdot.org/story/11/01/27/2059200/SourceForge-Down-After-Attack">http&#58;&#47;&#47;developers.slashdot.org&#47;story&#47;11&#47;01&#47;27&#47;2059200&#47;SourceForge-Down-After-Attack</a></p><p>posted by felix9</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/C9-Lectures-Dr-Ralf-Lmmel-Going-Bananas#c634318220120000000</link>
		<pubDate>Fri, 28 Jan 2011 14:33:32 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/C9-Lectures-Dr-Ralf-Lmmel-Going-Bananas#c634318220120000000</guid>
		<dc:creator>felix9</dc:creator>
	</item>
</channel>
</rss>