At the risk of stating the over-obvious: there's also the option of
creating just a single package containing all functions. None of the
functions that create the interdependencies need to be exported that way.
Btw, his question is probably better at home at the r-package-devel list.
Best,
M
On Thu, Apr 7, 2016, 22:24 Dmitri Popavenko <dmitri.popavenko at gmail.com>
wrote:
Hi Thierry,
Thanks for that, the trouble is functions are package specific so moving
from one package to another could be a solution, but I would rather save
that as a last resort.
As mentioned, creating a package C with all the common functions could
also
be an option, but this strategy quickly inflates the number of packages on
CRAN. If no other option is possible, that could be the way but I was
still
thinking about a more direct solution if possible.
Best,
Dmitri
On Thu, Apr 7, 2016 at 3:47 PM, Thierry Onkelinx <
thierry.onkelinx at inbo.be>
wrote:
Dear Dmitri,
If it's only a small number of functions then move them the relevant
functions for A to B so that B works without A. Then Import these
from B in A. Hence A depends on B but B is independent of A.
It is requires to move a lot of functions than you better create a
C with all the common functions. Then A and B import those functions
Best regards,
ir. Thierry Onkelinx
Instituut voor natuur- en bosonderzoek / Research Institute for Nature
Forest
team Biometrie & Kwaliteitszorg / team Biometrics & Quality Assurance
Kliniekstraat 25
1070 Anderlecht
Belgium
To call in the statistician after the experiment is done may be no more
than asking him to perform a post-mortem examination: he may be able to
what the experiment died of. ~ Sir Ronald Aylmer Fisher
The plural of anecdote is not data. ~ Roger Brinner
The combination of some data and an aching desire for an answer does not
ensure that a reasonable answer can be extracted from a given body of
~ John Tukey
2016-04-06 8:42 GMT+02:00 Dmitri Popavenko <dmitri.popavenko at gmail.com
:
Hello all,
I would like to build two packages (say A and B), for two different
purposes.
Each of them need one or two functions from the other, which leads to
problem of circular dependency.
Is there a way for package A to import a function from package B, and
package B to import a function from package A, without arriving to
circular
dependency?
Other suggestions in the archive mention building a third package that
both
A and B should depend on, but this seems less attractive.
I read about importFrom() into the NAMESPACE file, but I don't know
relate this with the information in the DESCRIPTION file (other than
adding
each package to the Depends: field).
Thank you,
Dmitri
[[alternative HTML version deleted]]