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.