
I wrote:
Package foo uploads a new version with a critical bug fix. As is often the case, this new version also supports updated dependencies, including exceptions. The new exceptions breaks the old SomeException type, so foo is forced to specify a lower bound that excludes the old exceptions.
Michael Snoyman wrote:
I'm not seeing a situation where an author couldn't easily be compatible with GHC <=7.8 by sticking to the old API?
Felipe Lessa wrote:
I think Michael Gale
heh
is thinking about an author that may end up using the new SomeExceptionWithInfo constructor for some reason, thus leaving older GHCs out of any new updates.
Right, exactly what I was thinking. But perhaps Michael Sn. is correct that explicit use of a SomeException constructor is rare. (Which is what I think is what he means by "sticking to the old API".) If that is really true, then my objection is not valid. And I'm certainly strongly in favor of the goals of this proposal. So I'd be in favor even if *some* breakage results from it, as long as the overall deprecation curve isn't unreasonably steep. Thanks, Yitz