Immutability is the inability to modify data after it has been created. Modifications are instead made by copying the data. A property of immutable data is that it is *referentially transparent*.
Overview
Immutability is the inability to modify a variable after it is has been created.
It is a pattern found in many branches of programming; immutable objects are used widely within object oriented languages (such as Python's str
type, Java's String
and Integer
type, .NET's System.String
, etc.), functional programming (esp. Haskell and other pure languages), and other paradigms.