James Hague <>
Tue Jun 4 15:48:32 CEST 2002

>  I am becoming  more and more convinced that  Erlang should be
>judged as a concurrent language than as an FP langauge.

I disagree, though the concurrency is invaluable.

The original point of functional programming, at least as I've always seen
it, was that computation was done in a referentially transparent way (see
Backus's FP articles, for example).  In the last decade or more, this has
changed into functional programming being entirely about:

1. Higher order functions.
2. Type systems.

While these are both useful, they're more icing than the core of functional
programming:  programming without destructive updates.  As such, I find
writing functional programs more approachable in Erlang than in Haskell or
ML.  Haskell lends itself to a dense style of function composition, which I
find obtuse.  And both Haskell and ML put correct typing above writing the
most succint and obvious code.  There's a good paper by Aiken, et al, about
the successor to Backus's FP:  FL.  One of the design goals was to avoid a
static type system because it was one extra thing to stand in the way of
someone learning the language.  A very interesting read:

(Section 4.2 is about the decision to be be dynamically typed, even though
"Within the functional programming community, an overwhelming majority
supports static typing.")

I need to write an FL interpreter in Erlang , I think :)

More information about the erlang-questions mailing list