Final bikeshedding call: Fixing Control.Exception.bracket

Gregory Collins greg at gregorycollins.net
Thu Nov 13 03:25:52 UTC 2014


On Wed, Nov 12, 2014 at 6:37 PM, John Lato <jwlato at gmail.com> wrote:

> Do you think the current resource leaking issue is not particularly
> significant, or do you tend to think it's an issue that should be fixed,
> but you're weighting the unknown costs much more than I am?


I'm just change averse :)

We have traditionally been very cavalier in the Haskell community about
gratuitously changing APIs in ways that break user code, and in my opinion
this is very bad and creates a perception for users that choosing Haskell
is just going to end up creating work for them. In this regard I think it's
very good to be conservative -- this function has been documented to behave
in a certain way and you can be sure that somebody, somewhere relies on
that behavior.

Normally I argue strongly for this perspective (because it feels like few
people do) on less serious things like changing function types or names,
because those things break builds and cause people to scramble to restore
their libraries to compatibility all at once after the GHC release. The
consequences of *this* particular change, however, have the potential to be
a lot worse than just making busywork for people: programs will silently
continue to compile and then start deadlocking in mysterious (and likely
rare/"race-condition-y") ways.

G
-- 
Gregory Collins <greg at gregorycollins.net>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/libraries/attachments/20141112/6ce62ba1/attachment.html>


More information about the Libraries mailing list