[Rd] Identical copy of base function

Martin Maechler maechler at stat.math.ethz.ch
Mon Feb 27 13:03:31 CET 2012


>>>>> 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



More information about the R-devel mailing list