On Tue, 20 Aug 2024, Sven Schreiber wrote:
Am 05.08.2024 um 18:19 schrieb Sven Schreiber:
> Am 04.08.2024 um 22:30 schrieb Cottrell, Allin:
> > On Tue, Jul 30, 2024 at 5:11 PM Cottrell, Allin <cottrell(a)wfu.edu>
wrote:
> >
> > It seems there was unfinished business in the relevant gretl source
> > file, gui/fncall.c. That's now updated, and I think the behavior
> > should be closer to what's claimed in the documentation, for both
> > variants of the specifications pertaining to list arguments (that is,
> > both with and without the "list_" prefix in
"list_no_const",
> > "list_no_singleton" and "list_exclude").
>
> Thanks, Allin, that sounds very good. (Although "closer to... the doc" is
> also an interesting formulation.) So no need to update any existing
> packages, if I understand correctly.
>
I've just tested the previous stripped down example gfn with the latest
snapshot (GTK3).
1) The no_singleton check partly works, for the LHS (Y):
- The drop-down menu in the GUI only shows existing lists, not
single series. And creating a new list in that GUI context refuses
to do a single-item list. However, pre-defining a singleton list and
then selecting it does not yield any error message (down the road).
Also, typing in the name of a single series does not raise an error
(again, on clicking OK).
The first of those cases (predefined list with single member) is now
blocked. However, it's not going to be easy to block every possible
loophole. You should take the ui-maker conditions as constituting a
"strong hint" via the GUI regarding what's acceptable rather than 100%
ruling out any incorrect input.
- For the other argument, which should honor the same restrictions,
nothing seems to be prevented or restricted, or checked.
The only restriction on the other argument was "no_const". That case
was getting missed; it's now enforced (to the extent feasible).
2) About the data requirement, the error message still says
"need
active dataset", not asking for time series. (Remember the package
itself required nothing, but the provider SVAR wants time series.)
The package itself pretends not to need any data, but its only public
interface takes two list arguments. Gretl is clever enough to know
that lists can't exist without a dataset. So that message is quite
correct, and actually has nothing to do with SVAR.
[At one point I had the notion that if a function package A has a
dependency B with a stronger data requirement, then A should "inherit"
B's stronger requirement. But it soon became apparent that was a bad
idea. A package writer might well specify a dependency with the intent
of actually calling it only if its (stronger) data requirement happens
to be met.]
Allin