Single assignment

From Wikipedia, the free encyclopedia

Single assignment is used to describe a programming language or representation in which one cannot bind a value to a name if a value has already been bound to that name. It prevents some types of side effects, which is claimed to reduce software bugs and simplify debugging.

Note: in some cases partial values could be used in more than one assignment as far as the partial values used in these assignments are compatible. Sometimes such variables are called declarative variables or dataflow variables. For further reading see CTM.

Contents

[edit] Implementations

Single assignment is used in several compilers and languages.

[edit] Compilers

Static single assignment form, SSA form, SSA, compiler representation

[edit] Languages

Functional (these use single assignment to reduce side effects)

Object-oriented

[edit] See also