<?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. Erik Meijer - Functional Programming Fundamentals Chapter 10 of 13</title>
	<atom:link rel="self" type="application/rss+xml" href="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"></atom:link>
	<image>
		<url>http://ecn.channel9.msdn.com/o9/previewImages/100/504213_100x75.jpg</url>
		<title>Channel 9 - C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals Chapter 10 of 13</title>
		<link></link>
	</image>
	<description>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 </description>
	<link></link>
	<language>en</language>
	<pubDate>Fri, 24 May 2013 22:17:50 GMT</pubDate>
	<lastBuildDate>Fri, 24 May 2013 22:17:50 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals Chapter 10 of 13</title>
		<description>
			<![CDATA[
<p>I'm so loving these lectures!</p>
<p>Thank you very much Charles and Erik for your work...you're doing a wonderful job!</p>
<p>I'm really looking forward to see the last three (or maybe four <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' />) lectures</p>
<p>posted by MarioTP</p>]]>
		</description>
		<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#c633954619360000000</link>
		<pubDate>Thu, 03 Dec 2009 18:32:16 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13#c633954619360000000</guid>
		<dc:creator>MarioTP</dc:creator>
	</item>
	<item>
		<title>Re: C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals Chapter 10 of 13</title>
		<description>
			<![CDATA[
<p>Excellent job Erik and C !! We would love very much for you guys to cover some advanced topics in Haskell and Fuctional Programming (as i mentioned in chapter 9 thread ) Thanks and continue with the excellent work.</p>
<p>posted by fbrubacher</p>]]>
		</description>
		<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#c633954627840000000</link>
		<pubDate>Thu, 03 Dec 2009 18:46:24 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13#c633954627840000000</guid>
		<dc:creator>fbrubacher</dc:creator>
	</item>
	<item>
		<title>Re: C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals Chapter 10 of 13</title>
		<description>
			<![CDATA[
<p>Me too! <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /> </p>
<p>&nbsp;</p>
<p>Thank you.</p>
<p>&nbsp;</p>
<p>Erik deserves most of the credit here, of course - he's doing the lectures. Me, I just had the idea to do lectures on Channel 9. FP was the clear choice to launch this new content type on C9 because we have spent so much time talking about functional programming
 over the years that we felt it appropriate to just focus on FP in the most efficient way possible - experts&nbsp;lecturing, teaching.</p>
<p>&nbsp;</p>
<p>Keep on watching,</p>
<p>&nbsp;</p>
<p>C</p>
<p>posted by Charles</p>]]>
		</description>
		<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#c633954629340000000</link>
		<pubDate>Thu, 03 Dec 2009 18:48:54 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13#c633954629340000000</guid>
		<dc:creator>Charles</dc:creator>
	</item>
	<item>
		<title>Re: C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals Chapter 10 of 13</title>
		<description>
			<![CDATA[
<p>Still watching this episode, I just had to say I love how you tied &quot;Theorems for free!&quot; together with dependent typing as well as ADTs!</p>
<p>In progress...</p>
<p>posted by exoteric</p>]]>
		</description>
		<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#c633954630270000000</link>
		<pubDate>Thu, 03 Dec 2009 18:50:27 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13#c633954630270000000</guid>
		<dc:creator>exoteric</dc:creator>
	</item>
	<item>
		<title>Re: C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals Chapter 10 of 13</title>
		<description>
			<![CDATA[
<p>These lectures have been the highlight of my Thursdays. <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /> . &nbsp;Thanks for taking the time to produce them. I’m looking forward to see this lecture tonight.</p>
<p>posted by paks8150</p>]]>
		</description>
		<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#c633954661610000000</link>
		<pubDate>Thu, 03 Dec 2009 19:42:41 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13#c633954661610000000</guid>
		<dc:creator>paks8150</dc:creator>
	</item>
	<item>
		<title>Re: C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals Chapter 10 of 13</title>
		<description>
			<![CDATA[
<p>Today there is big snow in Calgary. I am enjoying the lecture on my Mac. Here is my type: snow a = Nothing | Big snow. Thank you Eric!</p>
<p>posted by chudq</p>]]>
		</description>
		<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#c633955666890000000</link>
		<pubDate>Fri, 04 Dec 2009 23:38:09 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13#c633955666890000000</guid>
		<dc:creator>chudq</dc:creator>
	</item>
	<item>
		<title>Re: C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals Chapter 10 of 13</title>
		<description>
			<![CDATA[
<p>Erik: You are talking about &quot;the expression problem&quot; as still being a research subject. However, multimethods (as defined in the language Clojure) elegantly solves the problem?</p>
<p>&nbsp;</p>
<p>posted by mbrodersen</p>]]>
		</description>
		<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#c633960393430000000</link>
		<pubDate>Thu, 10 Dec 2009 10:55:43 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13#c633960393430000000</guid>
		<dc:creator>mbrodersen</dc:creator>
	</item>
	<item>
		<title>Re: C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals Chapter 10 of 13</title>
		<description>
			<![CDATA[
<p>Eric, a very late question</p>
<p>&nbsp;</p>
<p>In object oriented languages, we have the flexibility of defining sub-classes late after super class has been defined. The two definitions need not be done&nbsp;simultaneously. Moreover, there is no limit on the number of sub-classes baring the case of sealed
 types (which could still be circumvented using containment and defining casts).</p>
<p>In relation to the analogy of algebraic types and class hierarchies, what is the way in Haskell to extend the types as we can do in object oriented languages.
</p>
<p>For example:</p>
<p>data Answer = No | Yes</p>
<p>data AnswerEx = FromAnswer Answer | Unknown</p>
<p>&nbsp;</p>
<p>fromAnswerEx :: AnswerEx -&gt; Answer</p>
<p>fromAnswerEx FromAnswer a = a</p>
<p>fromAnswerEx Unknown = No -- in Haskell we have to generate a value of Answer type here</p>
<p>&nbsp;</p>
<p>We could surely define functions for explicit conversion e.g. fromAnswerEx but the compiles can not use them automatically. In code given below we have to use the explicit conversions.</p>
<p>&nbsp;</p>
<p>answers = [Yes, No, fromAnswerEx&nbsp;Unknown, fromAnswerEx FromAnswer Yes]</p>
<p>&nbsp;</p>
<p>The following will not work.</p>
<p>&nbsp;</p>
<p>answers = [Yes, No, Unknown, FromAnswer Yes]</p>
<p>&nbsp;</p>
<p>It is possible there in object oriented languages.</p>
<p>&nbsp;</p>
<p>Is there any pattern/idiom in Haskell to achieve same?</p>
<p>&nbsp;</p>
<p>posted by A N Satrawala</p>]]>
		</description>
		<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#c634007266260000000</link>
		<pubDate>Tue, 02 Feb 2010 16:57:06 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-10-of-13#c634007266260000000</guid>
		<dc:creator>A N Satrawala</dc:creator>
	</item>
</channel>
</rss>