
On Sun, Feb 07, 2016 at 03:56:25PM +0000, Daniel GorĂn wrote:
On 7 Feb 2016, at 2:59 pm, Richard Eisenberg
wrote: 2, ($) has had a fib in its type for a very long time, but did it ever hurt anyone? The closest I saw was a generalized concern about it being bad when people report a bug and then hear that things are more general than they thought and I guess this makes their bug not a bug or something? Results in some confusing back-and-forth? It would be nice to get more specific about how much trouble the ($) lie has caused.
I don't have data, but there is a real cost to lying. It shows up in the slow-ish but steady stream of posts / questions / bug reports that are produced saying something is weird. I've seen a good number of these come up in my years in the Haskell community. I'll note that there is also a real cost to telling the truth: witness this thread. This all adds up to a need to do both, which is what we would get by having a richer REPL environment.
[..]
Data.Function could define ($) with the new type, Prelude would re-export it with the old type (as a specialization) [..]
Could you explain why re-exporting a specialized version is better than just *defining* a specialized equivalent? Tom