Am 07.12.2015 um 11:11 schrieb Riccardo (Jack) Lucchetti:
Dear all,
I'm aware that backward-incompatibilty should in principle be avoided.
However, it occurred to me that we introduced string arrays only after
(more or less) clever workarounds to their absence. Typical cases are:
* the modprint command
* the varname() function (yes I know about varnames(), but it's a hack)
* the jsonget() function
* the labels command
* the colnames() and rownames() function
With some of these functions/commands it's not clear to me right now how
string arrays would enter the picture, simply because I'm not too
familiar with some of these.
etc etc.
Clearly, a redesign of all these would be optimal, but it would involve
a major revision of hundreds of scripts out there; however, like always,
the sooner this is done, the better.
I'll not talk about the general issue of (breaking) backwards
compatibility right now in this context, which is always difficult, but
in principle I still think there's always the danger of developers'
tendency to play around and tinker with their project, instead of
providing something stable to the users. And to paraphrase Allin, the
number of bugs may be finite at each point in time, but dynamically it
can become infinity.
But in this case I'm really skeptical about "sooner is better". In my
view the array support in gretl is still not mature enough. For example,
just recently (and still undocumented?) the possibility to assign array
elements directly in one go was introduced. (See Allin's message about
mkarray() from last month.)
And especially for string arrays, I think most of the string search and
manipulation functions would need to work with arrays or have the
respective analogues.
thanks,
sven