Zydeco is a Perl module to jazz up your object-oriented programming. It fuses together:

  • Classes, roles, and interfaces, including parameterizable classes and roles (a.k.a. class generators and role generators).
  • Factories to help your objects make other objects.
  • Powerful and concise attribute definitions.
  • Methods with signatures, type constraints, and coercion.
  • Method modifiers to easily wrap or override inherited methods.
  • Multimethods.
  • Powerful delegation features.
  • True private methods and attributes.
  • Syntactic sugar as sweet as pecan pie.