Functional Programming
57 Entries

C9 Lectures: Dr. Erik Meijer  Functional Programming Fundamentals, Chapter 1 of 13
Avg Rating: 5
(66)Welcome to a new technical series on Channel 9 folded into a different kind of 9 format: C9 Lectures. These are what you think they are, lectures. They are not conversational in nature (like most of what you're used to on 9), but rather these pieces are entirely focused on education, coming to you… 
Brian Beckman: Don't fear the Monad
Avg Rating: 5
(11)Functional programming is increasing in popularity these days given the inherent problems with shared mutable state that is rife in the imperative world. As we march on to a world of multi and manycore chipsets, software engineering must evolve to better equip software engineers with the tools to… 
C9 Lectures: Dr. Ralf Lämmel  Advanced Functional Programming  The Expression Problem
Avg Rating: 4
(10)"The Expression Problem is a new name for an old problem. The goal is to define a datatype by cases, where one can add new cases to the datatype and new functions over the datatype, without recompiling existing code, and while retaining static type safety (e.g., no casts)."  Philip… 
C9 Lectures: Dr. Erik Meijer  Functional Programming Fundamentals, Chapter 2 of 13
Avg Rating: 4.75
(42)In Chapter 2, Dr. Meijer introduces Haskell syntax and notation (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's not like you're used to in… 
C9 Lectures: Dr. Erik Meijer  Functional Programming Fundamentals, Chapter 3 of 13
Avg Rating: 5
(18)In Chapter 3, Dr. Meijer explores types and classes in Haskell. A type is a collection of related values and in Haskell every wellformed 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… 
C9 Lectures: Dr. Erik Meijer  Functional Programming Fundamentals Chapter 4 of 13
Avg Rating: 5
(19)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… 
C9 Lectures: Dr. Erik Meijer  Functional Programming Fundamentals Chapter 8 of 13
Avg Rating: 4
(11)In Chapter 8, Functional Parsers, 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 naturallybe viewed as functions. type Parser = String > TreeA parser is a… 
C9 Lectures: Dr. Erik Meijer  Functional Programming Fundamentals Chapter 5 of 13
Avg Rating: 5
(21)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 < [1..5]]The above notation represents the… 
C9 Lectures: Dr. Erik Meijer  Functional Programming Fundamentals Chapter 7 of 13
Avg Rating: 5
(15)In Chapter 7, Dr. Meijer teaches us about HigherOrder Functions. A function is called higherorder if it takes a function as an argument and returns a function as a result:twice :: (a > a) > a > atwice f x = f (f x)The function twice above is higher order because it takes a function… 
C9 Lectures: Dr. Erik Meijer  Functional Programming Fundamentals Chapter 6 of 13
Avg Rating: 5
(15)In Chapter 6, Dr. Meijer guides us through the world of recursive functions. In Haskell, functions can be defined in terms of themselves. Such functions are called recursive. For example: factorial 0 = 1factorial (n+1) = (n+1) * factorial nfactorial maps 0 to 1, and any other positive…