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: Mike's World-O-Programming - Yet Another Monad Tutorial (part 1: basics)
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!
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 Intuitively, I think that what the fancy math vocabulary is saying is that: A monoid is a set of objects, and a method of combining them. Well known monoids are: numbers you can addlists you can concatenatesets you can union" There are more complex examples also. Further, Every monoid has an identity, which is that "no-op" element that has no effect when you combine it with something else:
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.
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) grammars.