Parentheses in Haskell make it look like Lisp (a little)

As I keep trying to learn more about functional programming (FP), I keep going back to old Haskell books, like Real World Haskell, where this image comes from. Every time I try to learn more about Haskell my brain gets stuck not on FP, but on a couple of pieces of Haskell’s syntax. For instance, I don’t like the way function parameters are passed to functions, as shown in the top of this image. I much prefer the Java/Scala approach of compare(2, 3).

Last night I saw on the bottom of this image that this situation gets a little better (for me) when you nest several function calls together. The syntax at the bottom of the page looks more like Lisp, which is more readable for my brain.

(FWIW, I don’t call this a “rant” or “flame” about another language. I don’t like a few parts of Haskell’s syntax in the same way that I don’t like putting $ characters in front of variable names in other languages. It’s just an observation of what I don’t like about a language.)

Photo D8