Functional Programming
57 posts

C9 Lectures: Dr. Erik Meijer  Functional Programming Fundamentals, Chapter 1 of 13
Average: 5
(112)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… 
Tao Liu: F# Design Patterns
Average: 4.75
(57)Tao Liu, an engineer on the F# team, explains (and demonstrates) the importance and value of design patterns for F#. Many programmers who work on large or complex software systems are accustomed to employing design patterns in the development of these systems. For experienced C# developers wanting… 
C9 Lectures: Dr. Erik Meijer  Functional Programming Fundamentals, Chapter 2 of 13
Average: 4.75
(56)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 8 of 13
Average: 4
(15)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 3 of 13
Average: 5
(22)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… 
Brian Beckman: Don't fear the Monad
Average: 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. Erik Meijer  Functional Programming Fundamentals Chapter 4 of 13
Average: 5
(22)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 5 of 13
Average: 5
(24)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. Don Syme  Introduction to F#, 3 of 3
Average: 4.25
(13)F# is Microsoft's first functional programming language to be included as one of Visual Studio's official set of languages. F# is a succinct, efficient, expressivefunctional/objectoriented programming language under joint development by Microsoft Developer Division and Microsoft Research.In Part 3… 
C9 Lectures: Dr. Erik Meijer  Functional Programming Fundamentals Chapter 7 of 13
Average: 5
(17)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…