logoalt Hacker News

kaoDlast Saturday at 11:09 PM10 repliesview on HN

Can anyone point to a "practical Haskell" tutorial/book/whatever for people that already know functional programming? I'm in this sour spot where most tutorials are boring to me so I just can't follow through.

I know what a monad is. What a typeclass is. Even what HKTs are. I can make sense of "a monad is just a monoid in the category of endofunctors" if I give it a few minutes to unravel the ball of twine... But I wouldn't be able to code a "ToDo list" in Haskell if my life depended on it.

Pls help.


Replies

simonmicyesterday at 3:31 AM

I always liked https://www.extrema.is/articles/haskell-books/haskell-tutori... . But there's a lot out there. Have a look at https://joyful.com/Haskell+map . Or: read code. Or, just build practical stuff and seek help in the chats/fora when you hit problems.

ljwallyesterday at 9:58 AM

Seconding Haskell in Depth.

But aside from resources, if you actually have something you want to build in Haskell, just go for it and struggle through --- that's the best way to learn that I've found

thethimblelast Saturday at 11:21 PM

You might be better served talking to ChatGPT/Claude so it can tailor explanations based on your level of understanding. I've found that being super clear about concepts you understand well vs concepts you're unclear about makes for really effective explanations.

argiopetechyesterday at 1:05 PM

I typically recommend LYAH (https://learnyouahaskell.github.io/chapters.html), followed by Real World Haskell (already mentioned).

cosmic_quantayesterday at 1:03 AM

That is a really tough spot to be in. I don't know of any content that's aimed at someone like you.

You might be interested in reading the Monday Morning Haskell blog[0] series, which presents examples of how to do certain tasks in Haskell. See [1] for an example.

[0]: https://mmhaskell.com/blog

[1]: https://mmhaskell.com/blog/2025/5/19/comparing-code-leetcode...

yobboyesterday at 1:29 AM

Build a snake game in stages: https://github.com/lsmor/snake-fury

Build a small web-app: https://jaspervdj.be/posts/2017-12-07-getting-things-done-in... (the video link is down, but exists somewhere on youtube.)

joelwilliamsonlast Saturday at 11:26 PM

Have you tried Real World Haskell?

show 1 reply
shaunxcodeyesterday at 1:19 AM

Haskell school of music

antonvsyesterday at 1:14 AM

Where does your functional programming experience come from? That could help in finding a suitable resource.

show 1 reply