> > * There's also no need to distinguish C<use base> and C<use interface>,
> > since you've previously distinguished them by keyword. I would
> > suggest that either C<use base> be used for both types of
> > inheritance, or else the definition of an interface specification
> > just be a regular C<package>.
>
> I dunno. I like the Javaesque distinction between a class *being* a
> Dog and *implementing* Fetcher. Sure it's syntactic sugar, but I think
> it's good sugar.
Okay. I don't have a problem with a small amount of "belt-and-braces".
> > * The C<use deferred> pragma seems unnecessary, as it is sufficient
> > to *declare* the autoloaded method, rather than *define* it.
> > That is:
> >
> > use deferred 'rollover';
> >
> > is really just:
> >
> > sub rollover;
> >
> > BTW, this trick already works in Perl 5 (for making C<can>
> > acknowledge autoloaded methods).
>
> Hmm... point taken. Though I do think C<use deferred> could be looked
> upon as a vaguely nice bit of syntactic sugar...
Too much sugar rots your teeth. ;-)
I think C<use deferred> falls into that category, given that there's
already an easier way to do it in the existing language.
Damian