Aspects of Functional Programming in C# Presentation and Code Redux
Here are some resources that will be helpful in covering functional programming aspects:
Functional Programming
- Why Functional Programming Matters - John Hughes
- Why Haskell Matters
- Tutorial Papers in Functional Programming
- F# Home Page
C# Futures
Functional Programming Aspects with C#
- Functional C# Revisited - Into the Great Void
- Functional C# - Unfolding Lists
- Functional C# - Learn from F# and LINQ
- Recursing into Recursion - Continuation Passing Style (CPS)
- Recursing into List Processing
- Recursing into Linear, Tail and Binary Recursion
- Define Recursion - See Recursion
Books
Podcasts
- .NET Rocks Episode 310 - Simon Peyton Jones on Functional Programming and Haskell
- .NET Rocks Episode 270 - Erik Meijer on LINQ
- Software Engineering Radio Episode 97 - Anders Hejlsberg
Video Presentations
I've continued to add to my
Functional C# project
as time goes along. This is intended to be a library of
functional programming techniques in C# 3.0 and some
demonstrations of moving from imperative style programming
to a more functional programming style. This is an ongoing
project and more will be added in time, and I may end up
just putting them up not as samples, but as a library. But
in the mean time, there are a lot of interesting topics that
are being covered.
Some of the topics covered in these code projects are:
- Closures
- Continuation Passing Style
- Currying
- Filter High Order Function
- Fold High Order Function
- Iterators
- Lazy Evaluation
- LINQ
- Lists (Immutable and Recursive)
- List Comprehensions
- Map High Order Function
- Memoization
- Monads
- Operators (Forward, Reverse, etc)
- Recursion
- Unfolding and Generators
My slide deck can be found
here
and my code snippets once again can be found
here.
As I discussed last night, the
DC ALT.NET meeting is
on August 28 from 7-9PM with
Jeff Schoolcraft on
Approaching Ruby. Details can be found on my
previous post. Hope to see a great crowd, and don't forget to
RSVP!