A safety issue of that magnitude is a valid reason to hold up a release at the last minute IMHO.
Manuel > Simon Peyton Jones <simo...@microsoft.com>: > > Friends > > In a call with a bunch of type hackers, we were discussing > > https://ghc.haskell.org/trac/ghc/ticket/9858 > <https://ghc.haskell.org/trac/ghc/ticket/9858> > This is a pretty serious bug. It allows a malicious person to construct his > own unsafeCoerce, and so completely subverts Safe Haskell. > > Actually there are two bugs (see comment:19). The first is easily fixed. > But the second is not. > > We explored various quick fixes, but the real solution is not far out of > reach. It amounts to this: > > · Every data type is automatically in Typeable. No need to say > “deriving(Typeable)” or “AutoDeriveTypeable” (which would become deprecated) > > · In implementation terms, the constraint solver treats Typeable > specially, much as it already treats Coercible specially. > > It’s not a huge job. It’d probably take a couple of days of implementation > work, and some time for shaking out bugs and consequential changes. The > biggest thing might be simply working out implementation design choices. > (For example, there is a modest code-size cost to making everything Typeable, > esp because that includes the data constructors of the type (which can be > used in types, with DataKinds). Does that matter? Should we provide a way > to suppress it? If so, we’d also need a way to express whether or not the > Typable instance exists in the interface file.) > > But it is a substantial change that will touch a lot of lines of code. > Moreover, someone has to do it, and Iavor (who heroically volunteered) > happens to be travelling next week. > > So it’s really not the kind of thing we would usually do after RC2. > > But (a) it’s serious and, as it happens, (b) there is also the BBP Prelude > debate going on. > > Hence the question: should we simply delay 7.10 by, say, a month? After > all, the timetable is up to us. Doing so might give a bit more breathing > space to the BBP debate, which might allow time for reflection and/or > implementation of modest features to help the transition. (I know that > several are under discussion.) Plus, anyone waiting for 7.10 can simply use > RC2, which is pretty good. > > Would that be a relief to the BBP debate? Or any other opinions. > > Simon > > PS: I know, I know: there is endless pressure to delay releases to get stuff > in. If we give in to that pressure, we never make a release. But we should > know when to break our own rules. Perhaps this is such an occasion. > > _______________________________________________ > ghc-devs mailing list > ghc-devs@haskell.org <mailto:ghc-devs@haskell.org> > http://www.haskell.org/mailman/listinfo/ghc-devs > <http://www.haskell.org/mailman/listinfo/ghc-devs>
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs