in most articles about Haskell you\'ll find a statement like \"Data in Haskell is immutable\". I don\'t quite understand why. For example:
let a = 123 let a
Actually, a hasn't changed. Try this in ghci to see:
a
ghci
> a = 123 > action = print a > a = 456 > action 123
Compare with a language that has mutable variables, e.g. python:
>>> a = 123 >>> def action(): print a ... >>> a = 456 >>> action() 456