The second 'a' is inside a nested lambda function and therefore
inside a nested scope. The first 'a' still exists, but the value to
which it refers is hidden inside the second lambda function, where
'a' is bound to a different value.
On 28.04.2015 11:53, Shishir Srivastava
wrote:
Hi,
Please can anyone explain how does 'a' get re-used in the code below. My
understanding so far of haskell is that variables are not allowed to mutate
or re-assigned.
---
do
a <- [1,2,3]
a <- [a+1]
return a
[2,3,4]
---
Thanks,
Shishir