Enforced immutability: Difference between revisions

Content added Content deleted
(Add Nimrod)
Line 440: Line 440:
<lang Nemerle>def foo = 42; // immutable by default
<lang Nemerle>def foo = 42; // immutable by default
mutable bar = "O'Malleys"; // mutable because you asked it to be</lang>
mutable bar = "O'Malleys"; // mutable because you asked it to be</lang>

=={{header|Nimrod}}==
<lang nimrod>var x = "mutablefoo" # Mutable variable
let y = "immutablefoo" # Immutable variable, at runtime
const z = "constantfoo" # Immutable constant, at compile time

x[0] = 'M'
y[0] = 'I' # Compile error: 'y[0]' cannot be assigned to
z[0] = 'C' # Compile error: 'z[0]' cannot be assigned to</lang>


=={{header|OCaml}}==
=={{header|OCaml}}==