[Haskell-cafe] Fwd: Syntax extension - adding import support to let/where bindings
ollie at ocharles.org.uk
Wed Aug 5 20:20:28 UTC 2015
> On Wed, Aug 5, 2015 at 11:43 AM Evan Laforge <qdunkan at gmail.com> wrote:
>> And while "you don't have to use it" is
>> always brought up, it seems to me the more successful the feature is
>> the more likely you do have to use it.
> "You don't have to use it" is a canard, and that argument needs to be
> killed whenever and wherever it arises.
> Sure, I don't have to use it. But the tools I use have to support it, so
> it'll make them bigger and slower, so I'm paying the price for "it" even if
> I don't use it. If I'm on a team, I probably have to either waste time
> arguing with other people to get them not to use it, or at least explain
> why I didn't use it. And that latter will come up every time I share code
> with other people, which we do want to encourage people to do.
> And that brings us to the real issue of why "You don't have to use it" is
> simply false. Reusing other people's code is a critical part of any
> software development environment. If they use, I have to understand it in
> order to understand their code. Even more than I have to in order to
> explain why I don't use it.
> So, no matter what I think of some feature, if it exists, the tools I use
> will almost certainly have to support it, and I'll have to understand the
> feature well enough to decipher code that uses it, and probably defend my
> decision not to use it. I don't see that this is in any way less of a
> burden on me than if I chose to use it.
Ok, these are solid arguments - my apologies for throwing that one out
there. The only part I disagree with is:
> Reusing other people's code is a critical part of any software
development environment. If they use, I have to understand it in order to
understand their code. Even more than I have to in order to explain why I
don't use it.
You only have to understand it if either the extension leaks out into the
public API, or you are working on that code rather than simply using that
code. In this case, this extension should only impact the latter. But
still, I can't argue with the other points - thanks for bringing this up.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe