clarification on single assignment

Martin Bjorklund mbj@REDACTED
Wed Nov 22 11:05:06 CET 2000

Ulf Wiger <etxuwig@REDACTED> 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!


More information about the erlang-questions mailing list