++ed by:
RPAVLOV JGAMBLE

2 PAUSE users
1 non-PAUSE user.

Christian Jaeger
and 1 contributors

NAME

FP::Interfaces - implement interfaces

SYNOPSIS

 {
     package FP::Abstract::Sequence;
     sub fp_interface_method_names {
         qw(fold)
     }
 }

 {
     package FP::Abstract::ExtendedSequence;
     use base qw(FP::Abstract::Sequence); 
     sub fp_interface_method_names {
         my $class= shift;
         (qw(sum), $class->SUPER::fp_interface_method_names)
     }
 }

 {
     package Foo;
     use FP::Interfaces;
     FP::Interfaces::implemented qw(FP::Abstract::ExtendedSequence
                                    FP::Abstract::Pure);

     # FP::Interfaces::implemented adds the given arguments to @ISA
     # and checks that the methods required by those interfaces are
     # actually implemented. It issues warnings for missing methods,
     # in this case that 'sum' is not implemented.

     sub foo {  }
     sub fold {  }
 }

DESCRIPTION