Skip to content

Instantly share code, notes, and snippets.

@jackdempsey
Forked from bitemyapp/gist:8739525
Created March 31, 2014 03:38
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 jackdempsey/9884820 to your computer and use it in GitHub Desktop.
Save jackdempsey/9884820 to your computer and use it in GitHub Desktop.

I like Learn You a Haskell 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. (Thanks bos!)

I recommend RWH as a reference (thick book). The chapters for parsing and monads are great for getting a sense for where monads are useful. Other people have said that they've liked it a lot. Perhaps a good follow-up for practical idioms after you've got the essentials of Haskell down?

Concurrent with the NICTA 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 Purescript (not exactly Haskell) or Haste (is Haskell) for generating JS.

Most of all, don't 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