Learning Haskell
News, Technical ·Thursday March 7, 2013 @ 23:47 EST (link)
For the past week or so, I suppose now, I've been learning Haskell—I was in search of "a better functional language" (or, perhaps, more fundamentally, a powerful language, which tends to imply functional or functional additions) to learn or revisit (e.g., Scheme, Lisp). Python recently annoyed me again because of its intentional crippling (no, not the whitespace; that's absolutely great; it's very clean; looking at Ruby again, after a long hiatus, and seeing the dirty proliferation of closing end statements made me shudder a little), which the idiots try to tout as a feature, e.g., restricting lambdas to a one-line expression and not allowing assignment in conditionals. Despite distaste for Java I considered Clojure as a "Lisp with more libraries", but rejected it because it can't do tail recursion optimization (it can fake it; no thanks).
I'm using, unsurprisingly, the Learn You A Haskell For Great Good! tutorial, and I'll probably read Real World Haskell after that. Haskell takes functional programming to a whole new level; although this post, Why I Prefer Scheme to Haskell, makes a good point on the fanatical purity of the language making it difficult to insert trace statements (and here's someone going the other way: Hello Haskell, Goodbye Lisp). I haven't written anything big in it yet, but I may start using it for small utilities here and there at home or work.
Books finished: The Pragmatic Programmer, Code Simplicity.