
Am 06.09.2012 02:43, schrieb Michael Sloan:
I agree that it's quite unfortunate that adding instances causes a major bump. I think that instead it would make sense to only bump your major version whenever you add *orphan* instances. This is because it is known to be dangerous to create orphan instances, and the errors are relatively transparent. While I suppose it could break proper dependency resolution, a big reason for upper bounds is preventing a cascade of confusing errors. With orphan instances the errors are very finite.
In general here are a few different things that would help with the orphans problem:
There have been some ideas about explicit import of instances. I also had some thoughts about how GHC can help managing orphan instances when they are necessary: http://www.haskell.org/pipermail/haskell-cafe/2011-July/094014.html