Haskell concepts I'm learning

There are plenty of concepts to learn in Haskell. I learned a few languages in my time (Pascal, C++, C, PHP, SQL, HTML, CSS, Java, Visual FoxPro (shudder), Ruby, JavaScript, CoffeeScript, HAML, SCSS), and nonetheless Haskell is hard to wrap my head around. It reminds me of when I was just getting into programming in the last century.

This is because learning Haskell isn't just about learning new syntax (as is the case with many languages). There are many new concepts to learn as well, and it feels quite alien.

I thought I'd map out the new concepts as I go:


The green concepts are the things I had already been familiar with before starting out. The rest I either understand now, or at least have some familiarity with.