On Tue, Jan 6, 2009 at 7:49 PM, Oliver Gorwits
<oliver.gorw...@oucs.ox.ac.uk> wrote:
> Please mail me if you spot any errors or omissions.

Hi Oliver,

Looks great. In the interests of pedantry I'm going to have to cite
you on a few details. ;)

You have:

    has +$name => %options

I think it'd be a good idea to quote the "+$name" so that users aren't
bitten by Perl's quirk of +foo being valid.. but evaluating to just
foo. I've seen a few users bitten by this.

The "not ever set to undef" description of required is slightly wrong.
Values in a hash can be nonexistent or undefined. required says they
must exist. It is the type constraint that usually says the attribute
cannot be undef.

trigger may eventually stop passing $meta to the coderef. Just saying
$self and $newval should be enough for didactic purposes, since $meta
is not that useful, especially not to our non-Yuval users.

lazy_build (and thus perhaps builder) should be listed after predicate
and clearer, since it refers to them.

__PACKAGE__->meta->make_immutable definitely deserves a mention as
finalizing your class to make it faster.

Thanks for this valuable resource!

Shawn

P.S. Looks like ProFont for the code snippets, but what font is that
for the prose? I really like it.

Reply via email to