HN
Today

Monad Tutorials Timeline

This Haskell Wiki page compiles a vast, chronological catalog of Monad tutorials, spanning over three decades of attempts to demystify this notoriously tricky functional programming concept. It highlights the enduring struggle developers face in grasping monads, showcasing the sheer volume and variety of explanations born from that challenge. On Hacker News, this resource resonates due to the perennial quest for clarity on monads and the meta-discussion around teaching complex technical ideas.

38
Score
13
Comments
#13
Highest Rank
7h
on Front Page
First Seen
Apr 30, 5:00 AM
Last Seen
Apr 30, 11:00 AM
Rank Over Time
26131515181618

The Lowdown

The Haskell Wiki's "Monad Tutorials Timeline" serves as a historical and ongoing archive documenting the myriad attempts to explain the functional programming concept of monads. This open-source resource invites contributions from anyone who finds or creates a new explanation, aiming to provide a comprehensive reference for learners.

  • Extensive Chronology: The timeline spans from Philip Wadler's foundational papers in 1992 to entries projected into 2025, offering a rich historical perspective on monad explanations.
  • Diverse Formats and Languages: It includes a wide array of resources, from academic papers and book chapters to blog posts, conference slides, and even videos, showcasing monads in Haskell, Perl, Ruby, Clojure, Java, JavaScript, Scala, and R.
  • Evolution of Explanations: The entries highlight the ongoing evolution of pedagogical approaches, touching upon the "Monad tutorial fallacy," attempts at explanation "sans metaphors," and the introduction of various analogies.
  • Key Quotes: Many listings include short blurbs or direct quotes, summarizing the tutorial's approach or core definition of a monad.

Ultimately, this timeline stands as a testament to both the profound utility and the persistent conceptual challenge that monads present to programmers, reflecting a continuous collective effort to make this abstract concept accessible.

The Gossip

Perennial Puzzle of Monads

Commenters commiserate over the enduring difficulty of truly grasping monads, often finding their understanding fleeting. Many poke fun at the common pitfalls of monad tutorials, such as excessive analogies, category theory jargon, or assuming prior Haskell knowledge, while others yearn for more practical, less abstract explanations.

Naming Nuances and Etymological Enigmas

A sub-thread delves into the etymology of "monad," with some wondering if it relates to Gnosticism. Others clarify its origin in mathematics, specifically from "monoids" and the Greek "mono" for one, within the context of category theory. The discussion also touches on other obscure functional programming term origins, like "Idiom" for applicative functors.

Burrito Banter and Serendipitous Synchronicities

A humorous observation arose from the coincidence of this monad tutorial timeline appearing on HN simultaneously with another article titled "Biology is a burrito." This led to recollections of the popular "monads are like burritos" analogy and surprise that one of the most famous such explanations isn't explicitly listed in the wiki, prompting thoughts on the unlisted yet popular resources.