In Lisp, all code is data. In Haskell, all data is code.
enfranchisedmind.com
enfranchisedmind.com
I find it hard to imagine what the general case of data=code would even mean. In order for data to be code, some programming language implementation has to understand the data and be able to execute it, in which case the data was already code (or transformable into code) to begin with.
Another thing: what the article uses to distinguish Haskell from Lisp -- using functions in a way that looks like a data-structure -- is something I do in Lisp all the time. So this just isn't a distinction.
I'm not trying to pick on either Haskell (which I'd love to learn someday and which is obviously not Lisp) or the article (which makes some interesting points). It's just that most of what people say about Lisp in blog posts is kind of uninformed, and drawing this kind of distinction is harder than it seems.
To understand what this means on the Haskell side, you need to learn about lazy evaluation and thunks.