Erlang hints from an CO junkie

Thomas Lindgren <>
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 mailing list