5 ms·
I tried dipping my hands into Haskell over the summer. I fell in love with two resources: 1. Yann Esposito's Haskell Fast and Hard (on FPcomplete -- https://ww
by ssivark 13y ago
I tried dipping my hands into Haskell over the summer. I fell in love with two resources:
1. Yann Esposito's Haskell Fast and Hard (on FPcomplete -- https://www.fpcomplete.com/user/yogsototh/haskell-fast-hard https://www.fpcomplete.com/user/yogsototh/haskell-fast-hard)
2. Learn you a Haskell by Miran Lipovaca http://learnyouahaskell.com/ http://learnyouahaskell.com/
The latter author decided to write the book based on his experience in learning Haskell. It's definitely one of the simplest and clearest programming books I've read.
- AndreasFrom 13y agoI just started on #2 with Clojure ande F# experience and it seems really good so far. Now I'm really looking forward to reading it!
- SkyMarshal 13y ago/second LYAH, Lipovaca has a talent for explaining complex concepts clearly. One of the best learn-programming books I've read.
- GhotiFish 13y agodid you get all the way through it? If you did, you are a substantially smarter person than I.
- jnbiche 13y agoYeah, I got bogged down in monads, but I've promised myself I'll finish it this year. Learn Yourself a Haskell[...] is extremely well-written and entertaining, so it deserves completion.
- GhotiFish 13y agoI've said the same thing, unfortunately. All the resources I've seen for Haskell start the same They are insanely easy to follow at the start, so simple that even first time programmers won't have much trouble following. Then the type algebra hits and everything goes out the window. I've made 3 attempts to get through it. I can even see situations in my work where monads and monoids may very well be applicable. I still can't work with Haskell, nor get through any resource that discusses them. It's possible I'm an idiot, but I suspect my co-workers would fare worse, and it damns the language in my book.
- xyzzyz 13y agoAll of it makes much more sense if you use Haskell more. For example, when you're trying to write some program that works in an inherently stateful fashion, as a beginner you usually pass state as an additional argument to your function, and return it as additional result. Then, when you learn about State monad, everything clicks into place.
- dasil003 13y agoA lot of aspects of programming seem very very difficult until they click. Recursion and pointers are the canonical examples for basic programming. Although I'm still on the same side of learning Haskell as you, I think these things can be grokked by non-geniuses given enough practice and determination.
- mtdewcmu 13y agoIn college I was required to take a course using SML (which has a type system that is sort of like Haskell's I think; Haskell's may have been based on it). I was not all that academically driven that semester, and I was kind of taken by surprise by how hard the language was, once I started doing the later projects, and I barely got through the course. That was my only exposure to functional programming until after college, when I wanted to make up for that and I undertook to learn Scheme. I didn't have much trouble with Scheme, and the functional concepts I'd heard about in the course finally made sense. If you're trying to learn the functional style, I don't see the point in learning at the same time a complex type system. The type system isn't a natural consequence of functional programming, it's something that's not really related but adds a lot of difficulty. I don't want to start a flame war, but I view types as being sort of peripheral to the task of getting the computer to do things. If type systems are getting in the way of programming, priorities are getting mixed up.
- klibertp 13y agoThat's why I love Typed Racket - it's powerful and expressive, yet completely optional and integrates seamlessly with untyped code. It helps that Racket has the best support for contracts I've seen though.
- 13y ago
- jnbiche 13y agoThe amazing thing is that Miran is writing in his second language -- yet his command of idioms and obscure US cultural history is unequaled in any other programming book I've ever read.