Am 24.07.2008 14:02, Allin Cottrell schrieb:
On Thu, 24 Jul 2008, Riccardo (Jack) Lucchetti wrote:
I haven't been following this as closely as I normally would have liked
to (seasonal effect), but I'll still try to give some feedback.
>
> This solution will take care of [the main problems we have
> identified]; its disadvantages are:
>
> i) it won't be possible to modify the series referenced by a
> list via a function...
Quite correct, as per current CVS with PROTECT_LISTS defined.
For Sven (and anyone else who my be following this): What do you
think of this?
IMO it's not a big problem (although in principle I can imagine cases
where it could be inconvenient). I very much like the clean separation
of namespaces and inner/outer scopes and I think the advantages outweigh
the problems.
Having said that, maybe in the (distant) future the implementation of
the "list" datatype can be refined in a way that all those things become
possible. That would mean an extension with new features and no existing
scripts would then be broken (again, in the future). In the meantime,
it's good to have a clean and solid foundation.
> A special "$" accessor containing the version number will be
> provided for the convenience of script writers.
Any thoughts on how we want to represent this? As a number or a
string, and if a number, how should it be constructed?
I tend to favour the simple variant: "1.7.6" -> 1.76, i.e.
collapse the three numbers in the gretl version string to a single
floating-point value. That would mean that we're restricted to a
single digit in the second place of the version identifier (the
"minor version"), since e.g. "1.10.0" would give 1.100 < 1.9.9.
I don't think that bothers me. The more rigorous alternative
would be to define 3 values, traditionally referred to as
major_version, minor_version and patchlevel. But I find that a
pain to work with.
But isn't the 3-value solution already used in function packages? ("This
package requires at least gretl version x.x.x") It seems to me that the
same policy should apply to both areas.
cheers,
sven