clarification on single assignment

Martin Bjorklund <>
Wed Nov 22 11:05:06 CET 2000


Ulf Wiger <> wrote:
> 
> I read a paper on SAC (Single Assignment C):

[...]

> Thus, we can reuse variable names in a function and lose nothing.

But Erlang doesn't even have assignment in the first place!  '=' means
match, which binds unbound variables.  For example,
  A = 1,
  A = 2  % badmatch, or reassign?

match is of course more powerful than assignment.

So, you'd need to introduce an assignment operator.  The compiler
could translate it into a match, and also generate a new variable name
each time:

  A := 1,
  A := 2

  ===>

  A_0 = 1,
  A_1 = 2

Ugly indeed!


Join the Non-Assignment Generation!


/martin



More information about the erlang-questions mailing list