Monads

A monad is a common abstraction. While typically associated with Haskell, monads also exist in C# and other languages.

This article series is part of a larger series of articles about functors, applicatives, and other mappable containers.

If you understand what a functor is, it should be easy to grasp the idea of a monad. It’s a functor you can flatten.

There’s a little more to it than that, and you also need to learn what I mean by flatten, but that’s the essence of it.

In this article-series-within-an-article series, I’ll explain this disproportionally dreaded concept, giving you plenty of examples as well as a more formal definition. Examples will be in both C#, F#, and Haskell, although I plan to emphasise C#. I expect that there’s little need of explaining monads to people already familiar with Haskell. I’ll show examples as separate articles in this series. These articles are mostly aimed at object-oriented programmers curious about monads.

Read in full here:

This thread was posted by one of our members via one of our news source trackers.

1 Like

Corresponding tweet for this thread:

Share link for this tweet.

1 Like