Klacke klacke@REDACTED
Tue Jun 4 09:55:55 CEST 2002

On Mon, Jun 03, 2002 at 11:59:32PM +0100, C.Reinke wrote:
> Why not permit unbound variables in function calls, and only outlaw
> them in inter-thread communications? I looked at logic vs functional
> languages a while ago, and most of the examples where logic
> languages won where down to this late, but still single-assignment
> use of variables. And its a lot easier (almost trivial?) to
> implement within thread-boundaries.

I remember the wild days when we were adding stuff to the languange
in a complete ad-hoc manner. The process worked a bit along the lines:

1. Somebody implements a funky feature and just adds it to the language.
   a) More than one other person says: this is a good feature - it stays.
   b) no feed back at all - the feature goes

For example I remember I had an implementation of process migration
from one node to another that nobody cared about, so I removed it.

Anyway, here's my reply to your suggestion above. When we were 
discussing and implementing different features, there was always
one limiting factor, and that was that a feature shouldn't rely on whether
we were having a shared heap implementation or an implementation
with private heaps per process.

Having logical (unbound) variables in everything but message  passing
is just such a feature. If we're to ban unbound vars in messages, we
must scan the message before sending it. This is bad if we're having
a unified heap.



Claes Wikstrom                        -- Caps lock is nowhere and
Alteon WebSystems                     -- everything is under control       
cellphone: +46 70 2097763

More information about the erlang-questions mailing list