[Haskell-cafe] Proposal: Non-recursive let

Bardur Arantsson spam at scientician.net
Wed Jul 24 00:16:15 CEST 2013

On 2013-07-23 21:37, i c wrote:
> let's consider the following:
> let fd = Unix.open ...
> let fd = Unix.open ...
> At this point one file descriptor cannot be closed. Static analysis will
> have trouble catching these bugs, so do humans.
> Disallowing variable shadowing prevents this.
> The two "fd" occur in different contexts and should have different names.

I think you've misunderstood my "challenge".

I'm not talking about examples of either good or bad, but empirical
*evidence* for sample sizes greater than 1.

As in: If there was an article title "Is shadowing easier to understand
than explicitly named intermediate variables?" with an empirically
supported conclusion, I think everybody would be happy, but I just don't
think we're quite there...


More information about the Haskell-Cafe mailing list