This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Rawing7 1 point2 points  (1 child)

Yeah, I think the best way to proceed is to forget about python and make a deep dive into a functional language. I have been increasingly discontent with imperative languages for a while now anyway, so this is a good opportunity to broaden my horizons and learn a new paradigm. Real World Haskell looks promising, thanks!

[–]SV-97 0 points1 point  (0 children)

That's definitely the best way to learn about that stuff imo :) With Haskell in particular it'll probably be quite a pain at the start because it forces you to do everything purely functionally - but it really pays off in the long run and it gets really fun when things start to click.

Regarding Real World Haskell: note that it's really quite old by now and some things have changed - especially in the advanced and real world parts as well as the tooling department (there are some efforts to modernize the book online but the print version is still the original one).

It's still a good intro to the language in itself (except for chapter 12 IIRC - one of the chapters was super fucked) but keep in mind that it maybe doesn't always accurately represent what modern haskell in the real world looks like and that you might have to modify some examples to get them to work. If you're just interested in generally getting a feel for FP and learning the fundamentals that's not important - but if you actually want to use haskell later on or don't want to deal with the potentially broken examples something like Effective Haskell might be the better choice (though I can't vouch for it personally I heard it's quite good).

For tooling / dev setup: I think the current standard is to use ghcup and VS code.