
On Thu, Aug 27, 2015 at 06:51:57PM +0530, Anupam Jain wrote:
How is this any worse than using `foo <- return $ bar foo` or `let foo = something completely unrelated`?
I happen to prefer foo = something foo' = bar foo to foo = something foo <- return $ bar foo because if on line 147 I find `x = foo` then I have to scan the source file (or function) only to the point where I find `foo`, while with 'reassignment'/shadowing this doesn't hold. "The code from this point onwards shouldn't use foo but there is no way to enforce that" is indeed an annoyance, which can only be awkwardly expressed as: λ> (let a = 1 in 2) + a <interactive>:5:20: Not in scope: ‘a’ But don't mind me, I prefer to use `>>= \var ->` instead of do notation!
Time to add your proposal here! https://wiki.haskell.org/Nitpicks
I just requested access to the wiki.
Thank you for taking time to add your proposal and peace be upon William Yager for coming up with the List of Nitpicks, having them in one place is a great way to assess the issues in an organic manner.