clarification on single assignment

Jim Larson <>
Wed Nov 22 20:07:54 CET 2000


In message <> you write:
>On Wed, 22 Nov 2000, Martin Bjorklund wrote:
>
>>Call it want you want; my point was that if you want to implement what
>>you suggested, an assignment operator, separate from match, is needed.
>
>My "suggestion" was a joke. I was mainly trying to figure out 
>how the SAC people could get away with reassigning variables and
>still calling it "single-assignment", but I also wanted some comments
>on the notion that if SAC is right in claiming that they have single
>assignment, then calling Erlang a single-assignment language is
>confusing. I could have been clearer but that wouldn't have as much
>fun.

In case someone takes your joke seriously, let me say that as an
Erlang user, the annoyance of using versioned variables ("Var0",
"Var1", ..., "VarN") is outweighed by the safety of having the
compiler warn me about accidental reuse of variables.

Note the limitations on what the SAC folks can do with renaming/rescoping.
There's no way they can clean up the following:

	len = 0;
	while (getchar() != EOF)
		++len;
	printf("standard input length is %d\n", len);

since there's no static way to determine how many times the loop
will run.

Jim



More information about the erlang-questions mailing list