Why does this code using shadowing `let` bindings hang?

Viewed 234

Running this code:

j = let x = 4
    in let x = x * x
       in x

in the interpreter:

ghci> j
... no response ...

hangs with very little CPU utilization. Why is this? I expected j = 16.

1 Answers
Related