Not yet. Too busy breaking other things ;) I'll move it up on my TODO list.
On Thu, Mar 28, 2019 at 9:16 AM Pages, Herve <hpa...@fredhutch.org> wrote: > Hi Michael, > > Did you get a chance to make this change? > > Thanks, > > H. > > On 2/11/19 08:07, Michael Lawrence wrote: > > I propose that we just fix the signatures in the methods package and > > deal with the consequences. If Martin's OK with that, I'll make the > > change. > > > > Michael > > > > On Mon, Feb 11, 2019 at 7:45 AM McDavid, Andrew > > <andrew_mcda...@urmc.rochester.edu> wrote: > >> As a casual observer of this thread, my takeaway is that 1. the current > situation is untenable (e.g. it means that Aaron would have to essentially > reimplement S4 method dispatch) 2. Given the long history, and extent of > reverse dependencies to Matrix, there are good reasons to not mess with the > signature of its implicit generic (though I don't see much utility in > multiple dispatch here) and 3. therefore the least-bad alternative may be > to eliminate the call to setGeneric('colSums'), etc, in BiocGenerics, > hopefully with some fixes to the help system to make it more tolerant to S4 > method naming. I appreciate that until these fixes are forthcoming it > means more work maintaining the help aliases for some methods. How often > do we think the aliases would be break? > >> > >> Andrew McDavid > >> Biostatistics and Computational Biology > >> Office: SRB 4.206 Ph: 585.275.5983 > >> > >> Message: 1 > >> Date: Sun, 10 Feb 2019 13:36:43 +0000 > >> From: Aaron Lun <infinite.monkeys.with.keyboa...@gmail.com<mailto: > infinite.monkeys.with.keyboa...@gmail.com>> > >> To: "Pages, Herve" <hpa...@fredhutch.org<mailto:hpa...@fredhutch.org>>, > Martin Maechler > >> <maech...@stat.math.ethz.ch<mailto:maech...@stat.math.ethz.ch>> > >> Cc: Michael Lawrence <lawrence.mich...@gene.com<mailto: > lawrence.mich...@gene.com>>, > >> "bioc-devel@r-project.org<mailto:bioc-devel@r-project.org>" < > bioc-devel@r-project.org<mailto:bioc-devel@r-project.org>> > >> Subject: Re: [Bioc-devel] Pushing towards a better home for matrix > >> generics > >> Message-ID: <1549805803.3935.11.ca...@gmail.com<mailto: > 1549805803.3935.11.ca...@gmail.com>> > >> Content-Type: text/plain; charset="utf-8" > >> > >> Returning to this topic: > >> > >> It's good to hear some of the rationale behind the current state of > >> affairs. That said, the set-up we have now is quite difficult to work > >> with; as mentioned before, I've had to hack around it like: > >> > >> # Example from "BiocSingular", > https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_LTLA_BiocSingular&d=DwIGaQ&c=4sF48jRmVAe_CH-k9mXYXEGfSnM3bY53YSKuLUQRxhA&r=YOujD4cGNGWN0ZskTj96dUHU2a4CkraklBd4BndS21sf3_emyYLIG1llnUarWCda&m=VBZgu2tHS9vBNQ2d8RSG4ijIcp3jyZkfCsRnA1mk7XI&s=FN4WdWx8gfnjFoLRQuBaIHaKrAjONVa9hsbAyIXSwGo&e= > >> .safe_colSums <- function(x) { > >> if (is(x, "Matrix")) { > >> Matrix::colSums(x) > >> } else { > >> colSums(x) > >> } > >> } > >> > >> ... which is ugly, and even worse, still incorrect, e.g., for non- > >> Matrix classes that have methods for the implicit colSums generic. This > >> situation is not sustainable for further package development. > >> > >> Is there a path forward that is palatable to everyone? Or perhaps these > >> conversations are already happening on R-devel? > >> > >> -A > >> > >> On Tue, 2019-01-29 at 18:46 +0000, Pages, Herve wrote: > >> Yes the help system could enforce the full signature for the aliases > >> but > >> that means the end user then will have to always do > >> ?`colSums,SomeClass,ANY,ANY-method`, which feels unnecessary > >> complicated > >> and confusing in the case of a generic where dispatching on the 2nd > >> and > >> 3rd arguments hardly makes sense. > >> > >> Or are you saying that the help system should enforce an alias that > >> strictly matches the signature explicitly used in the setMethod > >> statement? Problem with this is that then there is no easy way for > >> the > >> end user to know a priori which form to use to access the man page. > >> Is > >> it ?`colSums,dgCMatrix,ANY,ANY-method` or is it > >> ?`colSums,dgCMatrix-method`. Right now when you type colSums<ENTERN> > >> (after loading the Matrix package), you get this: > >> > >> > library(Matrix) > >> > colSums > >> standardGeneric for "colSums" defined from package "base" > >> > >> function (x, na.rm = FALSE, dims = 1, ...) > >> standardGeneric("colSums") > >> <bytecode:0x591c7d0> > >> <environment:0x591a408> > >> Methods may be defined for arguments: x, na.rm, dims > >> Use showMethods("colSums") for currently available ones. > >> > >> This suggests that the correct form is ?`colSums,dgCMatrix,ANY,ANY- > >> method`. > >> > >> All this confusion can be avoided by specifying signature="x" in the > >> definition of the implicit generic. It formalizes where dispatch > >> really > >> happens and sets expectations upfront. No loose ends. > >> > >> Hope this makes sense, > >> > >> H. > >> > >> > >> [[alternative HTML version deleted]] > >> > >> _______________________________________________ > >> Bioc-devel@r-project.org mailing list > >> > https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_bioc-2Ddevel&d=DwICAg&c=eRAMFD45gAfqt84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=k36We8maIPURbmBswkPb0UI6ovVg-QOOSA30a92R1-g&s=L4de4KlbgiqHQj6_DCIPzOtVY0uE8DJZJhwvOHHQAvM&e= > > _______________________________________________ > > Bioc-devel@r-project.org mailing list > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_bioc-2Ddevel&d=DwICAg&c=eRAMFD45gAfqt84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=k36We8maIPURbmBswkPb0UI6ovVg-QOOSA30a92R1-g&s=L4de4KlbgiqHQj6_DCIPzOtVY0uE8DJZJhwvOHHQAvM&e= > > -- > Hervé Pagès > > Program in Computational Biology > Division of Public Health Sciences > Fred Hutchinson Cancer Research Center > 1100 Fairview Ave. N, M1-B514 > P.O. Box 19024 > Seattle, WA 98109-1024 > > E-mail: hpa...@fredhutch.org > Phone: (206) 667-5791 > Fax: (206) 667-1319 > > [[alternative HTML version deleted]] _______________________________________________ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel