On Wed, Nov 30, 2011 at 12:39 AM, Michael G Schwern <schw...@pobox.com> wrote: > There is a 3rd choice, which brings us full circle to where this discussion > started. We write TB2::Object [1] to select load Mouse if its available, > TB2::Mouse otherwise. That way TB2 classes are compatible with Mouse just in > time. They also get a performance kick. > > The core gets the "for internal use only" marked TB2::Mouse as previously > discussed.
Without commenting on the rest of the plan, to which I want to give a little more thought, it occurs to me TB2 as released to CPAN could explicitly depend on Mouse, so that any TB2 installed (or upgraded) via CPAN client gets Mouse installed (or upgraded). Meanwhile, the TB2 in Perl core could rely only TB2::Mouse as a temporary shim until someone upgrades their TB2. That might be good or bad policy depending on how one wants to look at it as a precedent for core modules, but it does deal with this particular issue pragmatically. -- David