I have written an article for the Dutch developer magazine of SDN (Magazine 111). It is titled: “Monads voor de .NET-ontwikkelaar”.
In this post I will list some of the available resources on monads for .NET developers:
C# resources
Books:
- Tomas Petricek & Jon Skeet: Real World Functional Programming: With Examples in F# and C#, website
- Oliver Sturm: Functional Programming in C#: Classic Programming Techniques for Modern Projects, website
Web:
- Wes Dyer: The marvels of monads
- Mike Hadlow: Monads in C#–1. Introduction.
- Derick Bailey: Monads in C#: Which Part Is The Monad?
- Matthew Podwysocki: Functional .NET - LINQ or Language Integrated Monads?
- Tomas Petricek: Beyond the Monad fashion (I.): Writing idioms in LINQ
- Mauricio Scheffer: Refactoring to monadic C#
- Erik Meijer: The World According to LINQ
F# resources
Computation Expressions are addressed in most of the available F# books (Professional F# 2.0 does not): F# and functional programming
Web:
- Wiki: Computation Expressions
- Don Syme: Some Details on F# Computation Expressions
- Francois Vanderseypen : Categories, monads and F# for dummies
- Steffen Forkmann: Using monads in F# – Part I: The State Monad
- Brian McNamara : catamorphisms part seven
- Ivan Towlson : F# computation expressions for beginners, part 1: what’s the problem?
- Chance Coble: Why use Computation Workflows (aka Monads) in F#?
- Ryan Riley: A monad library for F# projects
Presentations
- Mike Hadlow: on Monads @ E-VAN 29 March 2011
- Robert C. Martin (Uncle Bob) at the Norwegian Developers Conference: “WTF is a Monad” (F# code)
- Erik Meijer: Fundamentalist Functional Programming & Chapter 8 - Functional Parsers
- Bart De Smet: LINQ, Take Two: Realizing the LINQ to Everything Dream
- Rick Minerich: Getting the MVVM Kicked Out of Your F#’n Monads
Some theory
- Wiki: monad
- Monad tutorials timeline
- Eugenio Moggi: Notions of Computation and Monads
- Real World Haskell: Chapter 14. Monads
- Learn You a Haskell for Great Good!: A Fistful of Monads
- Ertugrul Söylemez: Understanding Haskell Monads
Code:
The source code of the article: MonadsVoorDeDotNetOntwikkelaar and MonadsVoorDeDotNetOntwikkelaar_english
2 comments:
You can find a number of monads for F# the FSharp.Monad project on NuGet.
@Ryan: thanks for reminding me. I have added a link in the post.
Post a Comment