[Rd] Is it ok to use the name on a bundle and one if its packages?

Paul Gilbert pgilbert at bank-banque-canada.ca
Fri Mar 12 18:51:57 MET 2004


Henrik Bengtsson wrote:

>Hello,
>
>I wonder if it is unwise to name a bundle the same as one of its
>packages. For instance, I now have a huge package called 'aroma' that
>I basically want to split up in several smaller packages, say
>'aroma.core', 'aroma.io', 'aroma.explore', 'aroma.trial',
>'aroma.deprecated' etc, which simplifies maintenance but also the
>overview. For convenience, one could have a wrapper package
>'aroma.all' that loads all the above packages. 
>
>As a typically user will make use of methods in the, say, three
>packages 'aroma.core', 'aroma.io' and 'aroma.explore' I would also
>like to have a wrapper package that loads these three "typical"
>packages. This package I would like to call 'aroma', just like the
>bundle. Is this wise, or should I rename the bundle to say 'AROMA'? 
>
I'm not sure if there would be problems. I have  one of the few bundles 
that exist, and I as far as I know, no one has tried this. (I would find 
it a bit confusing myself.) If the packages have a hierarchy, then you 
can get the behavior you want just by having require("whatever") in the 
start up for each package. So, for example, if aroma.explore  needs 
aroma.core and aroma.io, the  .First.lib for aroma.explore can have 
lines require("aroma.core"); require("aroma.io"). Then users would just 
load the highest package they need in the hierarchy.

>
>I would prefer that the user could install the bundle by
>
>  install.packages("aroma")
>
>without having to care if I distribute the methods in one package
>called 'aroma' or bundle of packages called 'aroma'. 
>
I don't think there is a problem here.

>Moreover,
>'library(aroma)' will also do for the typical user too. 
>
This could be a problem that your idea may work around, but you may be 
creating more confusion than help. If the set of functions that are 
being loaded changes, then it is not such a bad idea to change the name.

>To turn it
>around, what I'm trying to do is to emulate the concept of
>"subpackages".
>
>Another advantage is that if you first start out with a package
>'aroma' that people installs, then you can without having to tell the
>users, change it to be a bundle. 'update.package()' will still work;
>
It is possible your suggestion would make this work better than it works 
if you avoid having a subpackage with the same name as the bundle. 
Without replicating the name in a package of the bundle, the update of 
the bundle may leave the original "aroma" package in place. That would 
not be good.

>Same if you want to revert to a package. I haven't tested if it works
>in practice, though. 
>
There may be problems here. I don't think the packages of the bundle 
would be removed, and that would cause users a certain amount of confusion.

>
>BTW: I remember reading some r-help/r-devel(?) comments about not
>supporting bundles in the future and just keeping the concept of
>packages. Is this something that should we expected to happen?
>Personally I think a bundle is a convenient way to distribute packages
>that are used together, but not necessarily loaded at the same time.
>
The mechanism works very well right now, but there are not many of us 
using it. I am moving more toward unbundling myself (because my package 
hierarchy is changing with additional packages, not because of any 
problems).

Paul Gilbert

>
>Best wishes
>
>Henrik Bengtsson
>
>Dept. of Mathematical Statistics @ Centre for Mathematical Sciences
>Lund Institute of Technology/Lund University, Sweden 
>(Sweden +1h UTC, Melbourne +11 UTC, Calif. -8h UTC)
>+46 708 909208 (cell), +46 46 320 820 (home), 
>+1 (508) 464 6644 (global fax),
>+46 46 2229611 (off), +46 46 2224623 (dept. fax)
>h b @ m a t h s . l t h . s e, http://www.maths.lth.se/~hb/
>
>______________________________________________
>R-devel at stat.math.ethz.ch mailing list
>https://www.stat.math.ethz.ch/mailman/listinfo/r-devel
>
>  
>



More information about the R-devel mailing list