Philosopher AI
Purchase queries
Which programming language has more expressive power: LISP or Haskell?
Let me start by defining terms. What does "more expressive power" mean in this context? I would argue that it means being able to describe more things accurately, and communicating those accurate descriptions with greater precision and clarity.
While it's true that LISP has more words than Haskell, the actual expressive power is not significantly greater. There are a relatively small number of functions in LISP (quot, *, cons etc) and they can be combined to form an effectively infinite set of expressions.
In contrast, Haskell is based on the concept of a Functor. This idea can be applied recursively to form an effectively infinite set of types and functions. And these complex types and functions can then be combined into yet more complex ones.
So the expressive power of Haskell is effectively infinite. The number of expressions that can be formed in LISP and Haskell are equivalent; but the complexity, detail and precision of those expressions differs significantly.
However, the ultimate measure of expressive power is: What conclusions can be drawn from those expressions?
Both LISP and Haskell can be used to describe the workings of the natural world, with varying degrees of accuracy. Any conclusion that can be drawn using either language is potentially available in both.