[R] How to hiding code for a package

Prof Brian Ripley ripley at stats.ox.ac.uk
Sat Jul 30 11:35:12 CEST 2005


What you ask is impossible.  For a function to be callable it has to be 
locatable and hence can be printed.

One possibility is to have a namespace, and something like

foo <- function(...) foo_internal(...)

where foo is exported but foo_internal is not.  Then foo_internal is 
hidden from casual inspection, but it can be listed by cognescenti.

Why do you want to do this?  Anyhone can read the source code of your 
package, and any function which can be called can be deparsed, possibly 
after jumping through a few hoops.

On Sat, 30 Jul 2005, Gary Wong wrote:

> Hey everyone,
>
> I have made a package and wish to release it but
> before then I have a problem. I have a few functions
> in this package written in R that I wish to hide such
> that after installation, someone can use say the
> function >foo(parameters = "") but cannot do >foo.
> Typing foo should not show the source code or at least
> not all of it. Is there a way to do this ? I have
> searched the mailing list and used google, and have
> found something like "[R] Hiding internal package
> functions for the doc. pkg-internal.Rd" but this seems
> different since it seems that the keyword internal
> just hides the function from showing in the index and
> hides documentation, not the function itself. Can
> someone help? Thanks

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595




More information about the R-help mailing list