Perhaps a patch to R such that generics don't clobber each-other's method tables if the signatures agree? I haven't dug deeply, but simply merging the method tables seems like it would be safe when there are no conflicts.
That way this type of multiplicity would not be a problem, though it wouldn't help (as it shouldn't) if the two generics didn't agree on signature or both carried methods for the same class signature. ~G On Wed, Mar 26, 2014 at 4:38 AM, Michael Lawrence <lawrence.mich...@gene.com > wrote: > The BiocGenerics package was designed to solve this issue within > Bioconductor. It wouldn't be the worst thing in the world to depend on the > simple BiocGenerics package for now, but ideally the base generics would be > defined higher up, perhaps in the methods package itself. Maybe someone > else has a more creative solution, but any sort of conditional/dynamic > approach would probably be too problematic in comparison. > > Michael > > > > On Wed, Mar 26, 2014 at 4:26 AM, Ulrich Bodenhofer < > bodenho...@bioinf.jku.at > > wrote: > > > [cross-posted to R-devel and bioc-devel] > > > > Hi, > > > > I am trying to implement a 'sort' method in one of the CRAN packages I am > > maintaining ('apcluster'). I started with using setMethod("sort", ...) in > > my package, which worked fine. Since many users of my package are from > the > > bioinformatics field, I want to ensure that my package works smoothly > with > > Bioconductor. The problem is that the BiocGenerics package also redefines > > 'sort' as an S4 generic. If I load BiocGenerics before my package, > > everything is fine. If I load BiocGeneric after I have loaded my package, > > my setMethod("sort", ...) is overridden by BiocGenerics and does not work > > anymore. A simple solution would be to import BiocGenerics in my package, > > but I do not want this, since many of this package's users are outside > the > > bioinformatics domain. Moreover, I am reluctant to include a dependency > to > > a Bioconductor package in a CRAN package. I thought that maybe I could > > protect my setMethod("sort", ...) from being overridden by BiocGeneric by > > sealed=TRUE, but that did not work either. Any ideas are gratefully > > appreciated! > > > > Thanks a lot, > > Ulrich > > > > > > ------------------------------------------------------------------------ > > *Dr. Ulrich Bodenhofer* > > Associate Professor > > Institute of Bioinformatics > > > > *Johannes Kepler University* > > Altenberger Str. 69 > > 4040 Linz, Austria > > > > Tel. +43 732 2468 4526 > > Fax +43 732 2468 4539 > > bodenho...@bioinf.jku.at <mailto:bodenho...@bioinf.jku.at> > > http://www.bioinf.jku.at/ <http://www.bioinf.jku.at> > > > > ______________________________________________ > > R-devel@r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-devel > > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > -- Gabriel Becker Graduate Student Statistics Department University of California, Davis [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel