Live data from Hacker News

Learn You a Haskell for Great Good

learnyouahaskell.com

1–10 of 152 posts

Re: Learn You a Haskell for Great Good

#2
I tried LYAH before I had any real functional experience, and it went poorly. I think I wasn't dedicated enough.

I took a programming languages class taught in Racket, and by the end of that semester I felt like I had finally "gotten" what functional programming was all about.

Tried LYAH again and... it still didn't quite stick. Not sure why. But I was determined, because I'd heard about Haskell so much on the internet.

So I took a follow-up "class" where we just implemented projects in the functional languages of our choice, and I chose to do everything in Haskell. I asked my research advisor (I work in a PL research lab) for guidance, and that's when Haskell really started to make sense for me. I'm not sure why LYAH wasn't good for me, when it's touted as being a great starting place for so many people, but now Haskell is one of my favorite languages by far.

Re: Learn You a Haskell for Great Good

#4

I tried LYAH before I had any real functional experience, and it went poorly. I think I wasn't dedicated enough. I took a programming languages class taught in Racket, and by the end of that semester I felt like I had finally "gotten" what functional programming was all about. Tried LYAH again and... it still didn't quite stick. Not sure why. But I was determined, because I'd heard about Haskell so much on the intern…

LYAH is praised cause its cutesy and feels accessible but I'm willing to bet the majority of people recommending LYAH either just saw it and thought it looked good or never got that far. The only book that ever made sense to me was Haskell Programming from First Principles (http://haskellbook.com/). It really holds your hand through a lot of stuff and has a bunch of exercises.

Re: Learn You a Haskell for Great Good

#5
Based on my experiences using this as a reference while taking a class on functional programming, I think that while many of the explanations and examples are helpful, the ordering is a bit weird. For example, pushing off the explanation of higher-order functions for so long seems questionable, since they're a fundamental feature of the language.

Re: Learn You a Haskell for Great Good

#6

I tried LYAH before I had any real functional experience, and it went poorly. I think I wasn't dedicated enough. I took a programming languages class taught in Racket, and by the end of that semester I felt like I had finally "gotten" what functional programming was all about. Tried LYAH again and... it still didn't quite stick. Not sure why. But I was determined, because I'd heard about Haskell so much on the intern…

> I'm not sure why LYAH wasn't good for me, when it's touted as being a great starting place

It's not. It's a terrible starting resource. Majority of people I anecdotally hear gave up on Haskell seem to mention LYAH. Yes the material is there, but it's not presented in a way that generally sticks and fits pieces together. I guarantee someone will reply to this thread and say it worked for them, but in general people seem to be unsuccessful with it.

There are better options out there.

Re: Learn You a Haskell for Great Good

#7
Still recall the advice form a classmate asking if I should learn Haskell -- he said "Just learn it because it'll change how you think about programming".

I think people should learn it for this exact reason -- it really does change how you program as well as thinking about programming even if on a daily basis you're not writing pure Haskell or Clean or Scheme or whatnot.

Common programming concepts like "iteration", "state", "formal methods", "parrallellism" are concepts that functional programming makes you reconsider from a new perspective.

Re: Learn You a Haskell for Great Good

#8

I tried LYAH before I had any real functional experience, and it went poorly. I think I wasn't dedicated enough. I took a programming languages class taught in Racket, and by the end of that semester I felt like I had finally "gotten" what functional programming was all about. Tried LYAH again and... it still didn't quite stick. Not sure why. But I was determined, because I'd heard about Haskell so much on the intern…

> I'm not sure why LYAH wasn't good for me, when it's touted as being a great starting place It's not. It's a terrible starting resource. Majority of people I anecdotally hear gave up on Haskell seem to mention LYAH. Yes the material is there, but it's not presented in a way that generally sticks and fits pieces together. I guarantee someone will reply to this thread and say it worked for them, but in general people…

What would you recommend?

Re: Learn You a Haskell for Great Good

#9

I tried LYAH before I had any real functional experience, and it went poorly. I think I wasn't dedicated enough. I took a programming languages class taught in Racket, and by the end of that semester I felt like I had finally "gotten" what functional programming was all about. Tried LYAH again and... it still didn't quite stick. Not sure why. But I was determined, because I'd heard about Haskell so much on the intern…

I've bounced off LYAH more than once because it spends so much time in the REPL. I'm not interested in the REPL as an end in itself, only insofar as it can help me develop an actual program. Outside of image-based environments, what you do in the interactive shell doesn't reflect how actual code gets written. It feels trivial, and it doesn't help you build up a library of examples to refer back to later.

Re: Learn You a Haskell for Great Good

#10
post #7

Still recall the advice form a classmate asking if I should learn Haskell -- he said "Just learn it because it'll change how you think about programming". I think people should learn it for this exact reason -- it really does change how you program as well as thinking about programming even if on a daily basis you're not writing pure Haskell or Clean or Scheme or whatnot. Common programming concepts like "iteration",…

I think one of the most important things I learned from functional programming was how to consider and handle purity and side effects.

Not necessarily by wrapping everything in IO monads in my non-functional code or anything like that. But trying to keep bits of business logic in pure functions (where possible, of course) sure makes my job easier.

Post reply on HN