[Rd] Identical copy of base function
Jeffrey Ryan
jeffrey.ryan at lemnica.com
Mon Feb 27 14:39:32 CET 2012
Doesn't this also mean that if Matrix is loaded first, det() will be
calling Matrix::determinant, which could be quite surprising change in
behavior from expectation?
This seems rather dangerous and 'untrustworthy' to me - unless I am
missing some other hidden mechanism involved here.
I haven't read the code yet, and I am sure Matrix will "do the right
thing", but I have strong reservations about this behavior when
applied to the general universe of R and CRAN.
Jeff
On Mon, Feb 27, 2012 at 6:03 AM, Martin Maechler
<maechler at stat.math.ethz.ch> wrote:
>>>>>> Matthew Dowle <mdowle at mdowle.plus.com>
>>>>>> on Mon, 27 Feb 2012 09:59:43 +0000 writes:
>
> > Hello,
>
> > Regarding this in R-devel/NEWS/New features :
>
> > o 'library(pkg)' no longer warns about a conflict with a
> > function from 'package:base' if the function is an
> > identical copy of the base one but with a different
> > environment.
>
> > Why would one want an identical copy in a different
> > environment? I'm thinking I may be missing out on a trick
> > here.
>
> Yes, you are ;-) The trick is called ``namespace'' :
>
> One example which lead me to implement the above:
>
> The Matrix package has had an identical copy of 'det' for a
> while now, but of course in the Matrix namespace.
> Because of that, the call to determinant() inside det() will
> correctly dispatch Matrix methods for determinant(), whereas
> base::det() would not.
>
> Martin
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
--
Jeffrey Ryan
jeffrey.ryan at lemnica.com
www.lemnica.com
www.esotericR.com
R/Finance 2012: Applied Finance with R
www.RinFinance.com
See you in Chicago!!!!
More information about the R-devel
mailing list