The current situation could be summed up as requiring some code duplication when explicitly importing (due to the possibility of one or more redundant hides), while encouraging a sort of measure-twice-cut-once mentality. Not suggesting changing the default; I'll have a proposal detailing the exact semantics and possible consequences of using it on the wiki on Thursday, so that more people can weigh in.
Erik Hesselink wrote > On Tue, Oct 21, 2014 at 4:55 PM, Mario Blažević < > mblazevic@ > > wrote: >> On 14-10-21 07:14 AM, Erik Hesselink wrote: >>> >>> On Mon, Oct 20, 2014 at 11:57 PM, Mario Blažević < > mblazevic@ > > >>> wrote: >>>> No, what I find much worse is a cabal update causing an error >>>> in >>>> a >>>> module that was correct before the update. Consider >>>> >>>>> module Main where >>>>> >>>>> import Foo (foo) >>>>> import Bar >>>>> >>>>> main = foo >>>> >>>> >>>> Now suppose Bar came from the package bar-1.0, and the new >>>> version >>>> bar-1.0.1 decides to export foo. With the current behaviour, this >>>> change >>>> would break my module. With Malcolm's proposal the old code would >>>> continue >>>> to work. >>> >>> >>> That's a very good point. Given that and the above, I don't understand >>> your conclusion: >>> >>>> Anyway, count me as +1 on the proposal. It would improve the >>>> long-term stability of Haskell code. >>> >>> >>> How is adding more ways to break something "improving the long-term >>> stability"? >> >> >> You seem determined to misunderstand every message in this >> thread. >> What I said was that the change from bar-1.0 to bar-1.0.1 breaks the >> example >> code *with the current behaviour*. The proposal removes this breakage. >> Anything that keeps the old code compiling and working with new libraries >> improves its long-term stability in my book. >> >> Note that the bar-1.0.1 upgrade wasn't even a major version >> change. >> This is correct according to the PVP: > > You're right, I misread your message. I understand now, and you're > right that this is currently something that can break your package, > although it happens so rarely that people still depend on major > version ranges, even though they sometimes don't use explicit or > qualified imports. > > Regards, > > Erik > _______________________________________________ > Glasgow-haskell-users mailing list > Glasgow-haskell-users@ > http://www.haskell.org/mailman/listinfo/glasgow-haskell-users -- View this message in context: http://haskell.1045720.n5.nabble.com/Hiding-import-behaviour-tp5758155p5758451.html Sent from the Haskell - Glasgow-haskell-users mailing list archive at Nabble.com. _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users