---------------------------------------- Haskell September 1st, 2017 ---------------------------------------- I've been toying around with Haskell for a couple months in my spare time at home and work. It started initially as an exploration of Common Lisp, which I learned in passing in college. The languages I have used primarily at work have been very similar. Whether it is some version of JavaScript, ActionScript 3 in my Flash days, or even some server-side work in PHP or Python, the origins and roots all find a common ground. More importantly, they all have the same sort of imperative mentality. In effect, they cause me to think a certain way about problem solving. Common Lisp, Prolog, and a bunch of other languages present a different way of thinking, a different way of problem solving. That was the origin of my interest in revisiting Common Lisp in the beginning of the year. It was fascinating and really did change the way I approach certain problems. All the while, though, I kept thinking about the few minutes I'd toyed around with Haskell. Haskell has some really cool "stuff" in it. The syntax is beautifully sparse, almost elegant. There's the higher order functions, badass type system, laziness!, and the immutability factor. At the heart of things I could see all these bits of Lisp coming to the surface but in much more sophisticated ways. It had me on the fence pretty quickly. Do I spend more time in Lisp or jump to Haskell? The deciding factor was the difficulty. Haskell has a horrible reputation for being difficult to learn. As any good vimmer will tell you, that's kind of a big draw for us. So, here I am. I'm watching videos on category theory, I've binged a few online tutorials and courses, I've done some exercism.io problems, and now I'm finally sitting down to work through Learn You a Haskell for Great Good and Real World Haskell. I'm going to grok this. It's going to be glorious. .