From jmc at r-project.org  Tue Jan 27 03:01:28 2009
From: jmc at r-project.org (John Chambers)
Date: Mon, 26 Jan 2009 18:01:28 -0800
Subject: [Rd] Inherited Methods in r-devel (for package maintainers mainly)
Message-ID: <497E6AF8.50105@r-project.org>

A recently committed revison of R-devel (47740) has introduced a new 
mechanism for ordering superclasses consistently, with related changes 
for selecting inherited methods.

As part of the process, a function testInheritedMethods has been  
introduced that examines method selection for the relevant subclasses 
and reports ambiguities.

Maintainers of packages that have methods involving multiple arguments 
are encouraged to run testInheritedMethods for the relevant generic 
functions (e.g., the binary operators).  The new method selection is 
unambiguous for single-argument selection.

It's preferable  to find such ambiguities during package development or 
revision, rather than having users encounter ambiguous method selection 
later on.  In that spirit, ambiguous method selection is no longer a 
warning, just a message.

The new mechanism for class ordering and method selection is described 
in a draft paper at http://stat.stanford.edu/~jmc4/classInheritance.pdf 
(later likely to be part of a submission to the R Journal).

John



[Rd] Inherited Methods in r-devel (for package maintainers mainly)
John Chambers