EDN Admin
Well-known member
[Broken External Image]:http://ecn.channel9.msdn.com/o9/ch9/3/1/2/4/0/5/C9LecturesMeijerFPC10_85_ch9.pngWeve kicked 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, thank Erik in addition to Anders).
We will release a new chapter in this series every Thursday.
In Chapter 10, Declaring Types and Classes, Dr. Meijer teaches us about type declarations, data declarations, arithmetic expressions, etc.**In Haskell, a new name for an existing type can be defined using a type 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, but not recursive.
Nested:
type Pos** = (Int,Int)
type Trans = Pos ->*Pos
Illegal recursion:
type Tree = (Int,[Tree])
A completely new type can be defined by specifying its values using a data declaration:
*data Bool = False | True
Bool is a new type, with two new values False and True.
Get the presentation slides here
Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Chapter 8
Chapter 9[Broken External Image]:http://channel9.msdn.com/504213/WebViewBug.aspx?EVT=0
More...
We will release a new chapter in this series every Thursday.
In Chapter 10, Declaring Types and Classes, Dr. Meijer teaches us about type declarations, data declarations, arithmetic expressions, etc.**In Haskell, a new name for an existing type can be defined using a type 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, but not recursive.
Nested:
type Pos** = (Int,Int)
type Trans = Pos ->*Pos
Illegal recursion:
type Tree = (Int,[Tree])
A completely new type can be defined by specifying its values using a data declaration:
*data Bool = False | True
Bool is a new type, with two new values False and True.
Get the presentation slides here
Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Chapter 8
Chapter 9[Broken External Image]:http://channel9.msdn.com/504213/WebViewBug.aspx?EVT=0
More...