A brief clarification of a recent response to Sven. I'm aware
that some things in the area of function packaging are not right,
but I need probably a couple of days free of distractions to get
things closer to right.
The main issue is this: although packages exist, there is a
completely "flat" namespace for user-defined functions in gretl
right now. This has various undesirable consequences.
* Suppose you load a package "X" which contains an auxiliary
function foo(). Then you load another package "Y" which also has
an auxiliary function foo(). The second foo() will overwrite the
first. If the two instances happen to be identical (or at
least, functionally identical) this might not matter much, but if
the two foo() functions were different, package X will now be
broken!
* (As Sven found, sorry) if you delete a package "Y" which
contains an auxiliary function foo() that is shared with other
packages, watch out: foo() will be gone, deleted along with its
parent, despite the fact that it may be referenced by other
packages.
As I said, this needs fixing. But in the meantime if you are
developing function packages, please follow this rule: Make sure
that in any given package, _all_ functions have unique names that
will not collide with any other functions. Do not rely on
"sharing" code between function packages; it won't work in
general.
Allin.