( UPDATE: I stand corrected, in a reply by tome. )
I'm writing and debugging some functional code - in Clojure. There's a function I've smoke-tested on its own but that's failing me with "real" data. Lacking a decent debugger for Clojure and being too lazy to isolate my problem into a test setup, my tool of choice is the lowly "debug print."
In Clojure, the body of a function is essentially imperative, and I can insert a `(println "label:" value)`. To do the same thing in Haskell, I'd have to restructure my whole damn program.
I understand the rationale for purity in Haskell, but sometimes I see it as badly standing in my way of accomplishing what I want to do.