Skip to content

Instantly share code, notes, and snippets.

@minikomi
Forked from bitemyapp/gist:8739525
Created February 6, 2014 02:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save minikomi/8837559 to your computer and use it in GitHub Desktop.
Save minikomi/8837559 to your computer and use it in GitHub Desktop.

I like LYAH as a reference and cheat-sheet but I found it a little slow for learning Haskell.

Here's my recommended order for just learning Haskell:

http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way/ 80% completion here is fine if you feel your attention waning, the next thing will address hammering in things like functors and monads via typeclasses.

https://github.com/NICTA/course/ this will hammer in the lessons in a very direct form by forcing you to confront the challenges and lessons learned by the creators and community of Haskell itself. Doing the exercises here is critical for being fluent.

Real World Haskell is available online. I recommend it as a reference only.

Concurrent with the course: http://blog.tmorris.net/posts/20-intermediate-haskell-exercises/

If you want to follow up on the type and category theory:

http://www.cis.upenn.edu/~bcpierce/tapl/ http://en.wikibooks.org/wiki/Haskell/Category_theory http://www.haskell.org/haskellwiki/Category_theory

Useful for understanding typeclasses in general but also some Hask-specific category theory: http://www.haskell.org/haskellwiki/Typeclassopedia

Search engine (can search by type): http://www.haskell.org/hoogle/?hoogle=%28a+-%3E+b%29+-%3E+%5ba%5d+-%3E+%5bb%5d

After you're comfortable with Haskell, strongly consider learning Lenses and Prisms, even if just as a "user". You don't need to understand the underlying category for it to be useful.

Seen here: http://hackage.haskell.org/package/lens

Follow Edward Kmett (author of lens, Haskell superhero) on twitter: https://twitter.com/kmett

If you need JavaScript, you probably want Fay until GHCJS gets explored further. https://github.com/faylang/fay/wiki I'm doing some work/exploration here.

Most of all, try not to sweat the stuff you don't understand immediately. Just keep moving.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment