Erlang hints from an CO junkie
Wed Aug 11 21:41:46 CEST 2004
--- Joe Armstrong <> wrote:
> Well the first ever Erlang was a prolog
> meta-interpretor to extend
> Prolog with concurrent processes.
> This approach became problematic since you
> needed to avoid
> backtracking after you had sent a message.
> We didn't really want backtracking to "unsend
> messages" etc. and so
> we arrived at a Prolog without backtracking and
> things drifted off
> towards a more functional view of the world.
For the record, let me state that I think having a
mostly-pure functional language inside the processes
is a brilliant choice.
However, let me also note that avoiding the
"unsending" problem in Prolog has since been solved:
just don't permit sends when the sender is
nondeterministic. Lee Naish proposed "binding
determinism" in PNU-Prolog for this, and we used the
concept in Reform Prolog later on.
(The approach of handling "unsend" directly has also
been solved, see Kish Shen's DASWAM for example. It's
a wee bit hairier, though.)
Do you Yahoo!?
Express yourself with Y! Messenger! Free. Download now.
More information about the erlang-questions