Re: [R] How to hiding code for a package

From: Prof Brian Ripley <ripley_at_stats.ox.ac.uk>
Date: Sat 30 Jul 2005 - 19:35:12 EST

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

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Received on Sat Jul 30 19:41:44 2005

This archive was generated by hypermail 2.1.8 : Sun 23 Oct 2005 - 14:59:44 EST