On Mon, Aug 21, 2006 at 11:25:26PM -0500, Mark Stosberg wrote:
> In S12, we see a number examples of:
> class Dog is Mammal
> However, it's not clear if it is necessary to preload Mammal for Dog
> to function properly here, or what that syntax would be.
I've been under the impression that Mammal wouldn't have to be
preloaded, but it would have to be sufficiently defined before
the end of compilation. Whether that comes in the form of
C<use Mammal> or some other construct, I don't know.
As far as C<is Mammal> autoloading, right now, I'm of the opinion that
the programmer should be explicit about loading the code that defines
Mammal but I don't have a strong argument for that position.
But, assuming for the moment that C<is Mammal> autoloads C<Mammal.pm>,
does that mean that
class Dog is Mammal-4.5
is valid? This seems like something we shouldn't encourage as it
tends toward tight coupling of implementations where it should be
tight coupling of abstractions.
I don't know ... someone argue my brain into a new position :-)
Jonathan Scott Duff