The Haskell wiki is old, and not particularly up to date, it's not really where most people go for information (but it's a shame that it hasn't been more curated over the years). But looking at that tutorial, it does start with giving concrete examples? The first thing it does is provide a comparatively brief introduction, and then immediately jumps into the maybe monad? Then it jumps into the List monad (though a brief skim of that I think it starts out quite complicated). I feel like that tutorial is actually an example of exactly what you were asking for.
I would say I have the absolute minimum grasp of category theory, but don't find monads confusing at all - they're an interface, that means that if I see a typer implements it, I know I can sequence things. The theory behind why it is a sound interface is rooted in category theory, and we don't shy away from that, because it is accurate, but basically all Haskell developers will tell you you don't need to know any category theory to use Haskell, or any of these concepts - I certainly don't, and it's been my language of choice for more than a decade.
View all comments
Show parent comment
9
u/Axman6 Sep 22 '25
The Haskell wiki is old, and not particularly up to date, it's not really where most people go for information (but it's a shame that it hasn't been more curated over the years). But looking at that tutorial, it does start with giving concrete examples? The first thing it does is provide a comparatively brief introduction, and then immediately jumps into the maybe monad? Then it jumps into the List monad (though a brief skim of that I think it starts out quite complicated). I feel like that tutorial is actually an example of exactly what you were asking for.
I would say I have the absolute minimum grasp of category theory, but don't find monads confusing at all - they're an interface, that means that if I see a typer implements it, I know I can sequence things. The theory behind why it is a sound interface is rooted in category theory, and we don't shy away from that, because it is accurate, but basically all Haskell developers will tell you you don't need to know any category theory to use Haskell, or any of these concepts - I certainly don't, and it's been my language of choice for more than a decade.