Am 18.11.2016 um 17:45 schrieb Allin Cottrell:
> On Fri, 18 Nov 2016, Allin Cottrell wrote:
>> Anyway... we could regularize this by dropping the current practice
>> of manufacturing an empty list corresponding to no-argument,
No, I think that would be too disruptive.
...
The easiest (though not the tidiest) thing to do here is just be
clear
in the doc that lists are special in this respect.
Absolutely, that was the point of my original post.
Lists are also special in other ways (e.g., cannot be in bundles, partly
break the encapsulation of functions), so I think keeping it special
here isn't too bad.
However, the new thing that has come up in this thread is the situation
with
'string s = null'
after which exists(s)==1 and even more paradoxically isnull(s)==0. And
which is different from a function parameter default 'string s[null]'
which produces exists(s)==0 inside the function. So I think this needs
fixing (in the short term).
Perhaps another long-term solution might also be needed (new keyword
"none" for defaults, or empty brackets "[]"?).
cheers,
sven