Roles, like a nouvelle cusine portion size slice of Moose
Role composition can be thought of as much more clever and meaningful multiple inheritance. The basics of this implementation of roles is: - If a method is already defined on a class, that method will not be composed in from the role. - If a method that the role "requires" to be implemented is not implemented, role application will fail loudly. Unlike Class::C3, where the last class inherited from "wins," role composition is the other way around, where first wins. In a more complete system (see Moose) roles are checked to see if they clash. The goal of this is to be much simpler, hence disallowing composition of multiple roles at once.
$
pkg install p5-Role-TinyOrigin
devel/p5-Role-Tiny
Size
62.6KiB
License
ART10, GPLv1+
Maintainer
sunpoet@FreeBSD.org
Dependencies
2 packages
Required by
22 packages
Dependencies (2)
Required By (22)
p5-BorderStylep5-BorderStyles-Standardp5-Dancer2p5-Data-Framep5-Data-Perlp5-Data-Sahp5-Language-Exprp5-List-Objects-WithUtilsp5-MaxMind-DB-Readerp5-Mojo-DOM58p5-Moop5-MooX-Traitsp5-Moosp5-Path-IsDevp5-Pod-Readmep5-Speciop5-Sub-HandlesViap5-Time-Moment-Role-TimeZonep5-WWW-OAuthp5-XT-Filesp5-Zonemaster-Backendznapzend