Actually, a
hasn't changed. Try this in ghci
to see:
> 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
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…