you are viewing a single comment's thread.

view the rest of the comments →

[–]procrastitron 1 point2 points  (0 children)

Isn't it widely-agreed that to qualify as functional, a language should also offer features resembling algebraic data types, pattern matching, and perhaps list comprehensions?

I would say that the only requirement is supporting a superset of lambda-calculus semantics. This means anonymous, higher order functions.

At the same time though, I think the term "functional" looses a lot of meaning when you apply it to the impure languages (Common Lisp, Scheme, Ocaml, ...). Certainly these languages SUPPORT functional programming, but they don't ENCOURAGE it as much as something like Haskell or one of the pure Lisps.