That might be worth thinking about generally, but it would still be nice to
have the base generics pre-defined, so that people are not copy and pasting
the definitions everywhere, hoping that they stay consistent.


On Wed, Mar 26, 2014 at 6:13 AM, Gabriel Becker <gmbec...@ucdavis.edu>wrote:

> 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

Reply via email to