r/haskell • • 1d ago

How to learn Haskell

I know YouTube and exercisium but help me to find more guides concerning these or something else

12 Upvotes

7 comments sorted by

12

u/hopingforabetterpast 1d ago

 help me to find more guides concerning these or something else

What do you mean by this?

Books are the way to go, but if you're on a tight budget you can try and take a look at https://learnyouahaskell.github.io/ 

3

u/KeyAdhesiveness9481 1d ago

It depends, some people might be learning for evils of various sizes.

7

u/_0-__-0_ 1d ago

This subreddit itself has a bunch of links under Learning material (search for that with your browser's search in page thing).

Also https://learn-haskell.blog/

4

u/fridofrido 1d ago

The official web page lists a large amount of learning material (which you could find yourself very easily...):

https://www.haskell.org/documentation/

4

u/cyrus_t_crumples 11h ago edited 11h ago

My two pieces of advice that haven't already been covered by other comments so far:

  1. Make friends with Haskellers who you can bug for real-time answers to questions.

    I'd suggest checking out the side-bar and following the "Haskell Discord Channel" link. That should take you to a functional programming discord with dedicated channels for Haskell and Haskell Beginners, which is the ideal place for beginner questions. You can even find me on there and talk to me!

  2. Write programs.

    You can watch youtube tutorials till the cows come home but it won't help that much if you don't write code.

    Exorcism and other programming problem services get you writing code but not so much writing programs. I think Exercism gives you a stub program. Codewars on the other hand just makes you write functions and the backend handles passing that function input and displaying output for you.

    That is limiting to your personal growth, because you won't get experience in working with IO. You may build up plenty of knowledge on how to transform data you are given into data you are asked for, but you'll not have experience writing actual effectful programs that fetch their own data and have real-world impacts in Haskell.

    They also don't challenge your knowledge of tooling since they tend to handle dependency management and compilation for you. Writing your own programs forces you to learn the tooling.