Sub-MultiMethod
view release on metacpan or search on metacpan
complex type system and a more complex dispatch method.
Logic - a full declarative programming framework. Overkill if all you want
is multimethods. Uses source filters.
Dios - object oriented programming framework including multimethods.
Includes a full type system and Keyword::Declare-based syntax. Pretty
sensible dispatch technique which is almost identical to Sub::MultiMethod.
Much much slower though, at both compile time and runtime.
MooseX::MultiMethods - uses Moose type system and Devel::Declare-based
syntax. Not entirely sure what the dispatching method is.
Kavorka - I wrote this, so I'm allowed to be critical. Type::Tiny-based
type system. Very naive dispatching; just dispatches to the first declared
candidate that can handle it rather than trying to find the "best".
Sub::Multi::Tiny - uses Perl attributes to declare candidates to be
dispatched to. Pluggable dispatching, but by default uses argument count.
Sub::Multi - syntax wrapper around Class::Multimethods::Pure?
lib/Sub/MultiMethod.pm view on Meta::CPAN
L<Logic> - a full declarative programming framework. Overkill if all
you want is multimethods. Uses source filters.
L<Dios> - object oriented programming framework including multimethods.
Includes a full type system and Keyword::Declare-based syntax. Pretty
sensible dispatch technique which is almost identical to
Sub::MultiMethod. Much much slower though, at both compile time and
runtime.
L<MooseX::MultiMethods> - uses Moose type system and Devel::Declare-based
syntax. Not entirely sure what the dispatching method is.
L<Kavorka> - I wrote this, so I'm allowed to be critical. Type::Tiny-based
type system. Very naive dispatching; just dispatches to the first declared
candidate that can handle it rather than trying to find the "best".
L<Sub::Multi::Tiny> - uses Perl attributes to declare candidates to
be dispatched to. Pluggable dispatching, but by default uses argument
count.
( run in 0.828 second using v1.01-cache-2.11-cpan-8780591d54d )