[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#701456: ITP: libclass-autoloadcan-perl -- module managing conflict between AUTOLOAD, can and inheritance



Package: wnpp
Owner: olivier sallou <osallou@debian.org>
Severity: wishlist
X-Debbugs-CC: debian-devel@lists.alioth.debian.org,debian-perl-packaging@lists.alioth.debian.org,debian-med-packaging@lists.alioth.debian.org

* Package name    : libclass-autoloadcan-perl
  Version         : 0.03
  Upstream Author : Ben Tilly <btilly@gmail.com>
* URL             : http://search.cpan.org/dist/Getopt-Complete/
* License         : Artistic or GPL-1+
  Programming Lang: Perl
  Description     : module managing conflict between AUTOLOAD, can and inheritance

 Class::AutoloadCAN solves a fundamental conflict between AUTOLOAD, can and
 inheritance. The problem is that while you can implement anything in
 AUTOLOAD, UNIVERSAL::can is not aware that it is there. Attempting to modify
 UNIVERSAL::can to document those methods is very hard. And if a parent class
 uses AUTOLOAD then subclasses have to do a lot of work to make their
 AUTOLOADs cooperate with the parent one. It is harder still if 2 parent
 classes in a multiple inheritance tree wish to cooperate with each other. Few
 try to do this, which may be good since those who try usually get it wrong.
 See http://www.perlmonks.org/?node_id=342804 for a fuller discussion.
 .
 With this module instead of writing AUTOLOADs, you write CANs. Based on what
 they return, Class::AutoloadCAN will decide whether you handle the call or it
 needs to search higher up the inheritance chain.


-- 
gpg key id: 4096R/326D8438  (keyring.debian.org)
Key fingerprint = 5FB4 6F83 D3B9 5204 6335  D26D 78DC 68DB 326D 8438


Reply to: