Mike's World-O-Programming - Yet Another Monad Tutorial (part 1: basics) It's a standing joke in the Haskell community that every Haskell programmer, as part of his or her learning process, will eventually write one or more monad tutorials.

I'm certainly no exception. But since I know that there are already dozens of monad tutorials out there, some quite good, why on earth would I want to write Yet Another One? There are two reasons: Why Do Monads Matter? « Sententia cdsmithus. (A Side Note: I’ve been formulating the final thoughts on this post for about a week now.

In an entirely unrelated coincidence, a good friend of mine and fellow Haskell programmer, Doug Beardsley, ended up writing two posts about monads over the weekend as well. Weird! Learn Haskell Fast and Hard. Tl;dr: A very short and dense tutorial for learning Haskell.

Thanks to Oleg Taykalo you can find a Russian translation here: Part 1 & Part 2 ; Table of Content I really believe all developers should learn Haskell. Haskell - A monad is just a monoid in the category of endofunctors, what's the problem. Chapter 2. Types and Functions. Chapter 2.

Types and Functions Every expression and function in Haskell has a type. For example, the value True has the type Bool, while the value "foo" has the type String. The type of a value indicates that it shares certain properties with other values of the same type. Category Theory. Combinations and Permutations. What's the Difference?

In English we use the word "combination" loosely, without thinking if the order of things is important. In other words: So, in Mathematics we use more precise language: In other words: Haskell/Category theory. This article attempts to give an overview of category theory, in so far as it applies to Haskell.

To this end, Haskell code will be given alongside the mathematical definitions. Absolute rigour is not followed; in its place, we seek to give the reader an intuitive feel for what the concepts of category theory are and how they relate to Haskell. Introduction to categories A simple category, with three objects A, B and C, three identity morphisms. Parsec. This article is a stub.

You can help by expanding it. 1 Introduction Parsec is an industrial strength, monadic parser combinator library for Haskell. It can parse context-sensitive, infinite look-ahead grammars but it performs best on predictive (LL[1]) grammars.