explict sharing of symbols between packages

Duncan Murdoch dmurdoch@pair.com
Fri, 06 Sep 2002 07:59:13 -0400


On Fri, 06 Sep 2002 18:23:33 +1000, you wrote:


>The package is dependent on shared libraries. The base one
>will keep all of the core stuff like constructors etc and
>the specialised parts will need to access these. It is
>obviously possible to set the "local" flag to false, however
>this becomes a dangerous, especially with the larger
>package.
>
>Is there any way to define a group of packages that share a
>symbol table? That would seem to me to be a possible
>solution.
>
>Can anyone offer advice on this?

Are you talking about the R symbol table, or the symbol table in the
dynamically linked libraries? 

If the former, then (until namespaces are implemented) they *always*
share symbol tables.  Every routine can see every other routine.

Your comment about a "local" flag makes me think you're talking about
an external library.  This may be system dependent.  In Windows it's
not possible to do what you want to do.  A DLL exports certain
symbols, and there's no way to merge that table with the table from
another DLL.  However, it is normal to import routines specifying both
the routine name and which DLL they come from, so name clashes don't
need to be a problem.  

Duncan Murdoch


-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._