Ask HN: Lisp, Haskell, and the Blub Paradox
But Haskell programmers look down on Lisp (and everything else), and ask "How can you get anything done in those languages? They don't even have a decent type system." (And no, C/C++/Java types are not what a Haskell programmer calls "decent".)
It seems, then, that we have two different languages, each looking down on the other, and sure that it knows why it is looking down, that is, sure that it knows why the other is less powerful.
My question: Is the Blub Paradox wrong?
The Blub Paradox assumes that all languages can be ranked on a one-dimensional axis labeled "power". But power is the power to do something. What if the "something" determines (at least to some degree) what "power" looks like? Maybe a better view is that programming languages look like a tree, and your problem looks like a vector. Pick the language that gets you the furthest in the direction of your problem vector. (This view means that you cannot meaningfully compare the power of different languages without specifying the problem domain, unless the languages are on the same branch of the tree.)
Here's an even stranger question: Is it possible that Haskell's type system and Lisp macros are doing somewhat equivalent things?
Responsible, thoughtful answers are welcome. Flames are firmly discouraged.