[Scilab-Dev] oldEmptyBehaviour and warning("stop") on []+-

Samuel Gougeon sgougeon at free.fr
Wed Mar 9 01:31:11 CET 2016


Sorry for the badly unretitled previous message. May i end it with a 
suggestion:

Le 09/03/2016 01:18, Samuel Gougeon a écrit :
> Hello,
>
> Le 18/02/2016 20:41, Eric Dubois a écrit :
>> Hello
>>
>> I am inclined to share Samuel point of view: this is a compliocation 
>> than could be avoided.
>>
>> But I cannot resist noting that the annoucement is 6 years older than 
>> the announcement of the weapon of mass destruction that consist in 
>> changing the behaviour of the addition of a matrix with a null matrix.
>>
>> Sorry for insisting, but I will again call for the removal from the 
>> final Scilab 6.0 release of this planned change.
>>
>> First, I am not convinced at all by the argument put forward that it 
>> will make Scilab more consistent with other language such as Matlab, 
>> Octave, Julia.. : after all, every language has its indiosycrasies; a 
>> Matlab user will yet have to adapt herslef to this change, bu along 
>> many other ones; and I,do not think that changing this behavour will 
>> convice any Matlab user to switch to Scilab nor prevent anyone 
>> thinking about switching to give up because of this beahviour.
>>
>> Second The argument that it enhances Scilab internal consistency is a 
>> little bit more compelling, but not much: after all, addition and 
>> subtraction are different operations from multiplication and 
>> division, such one can justify different behaviour. And there are 
>> cases when it make tho code more compact.
>>
>> Adnd lastly both arguments are anyway swept away by the simple fact 
>> that the change should make all previous code unreliable: you cannot 
>> be sure in advance that the working of your program has not been 
>> affected by the change (and the warning that is designed to alert to 
>> the user is not sufficient: a warning can easily be missed, 
>> especially for second hand users not so famaliar with Scilab and if 
>> it is hidden among many other warnings).
>
> I have the same feeling, and i agree mostly with your last remark. We 
> could stress on some "pitfalls" set by the oldEmptyBehaviour flag or 
> by the "warning stop" behavior:
>
>   * oldEmptyBehaviour flag:We may guess that this flag is a /global/
>     one. Isn't it? So, if we set it at the beginning of a script or of
>     a macro, then it applies to the whole Scilab session (i haven't
>     checked that), even after leaving the script or the macro. If so,
>     then if in a session we process some recent up-to-date scripts or
>     macros, and some other ones that are not up-to-date, what will
>     occur, whatever is the flag's value? This is not really clear.
>
>   * warning("stop"): i agree that, in order to update all contents and
>     to be sure that results are reliable and not polluted by
>     unpredictable "[]+-" side effects, this warning mode will have to
>     be always activated for a very long period, may be up to Scilab 7.
>     Then, the problem is that this stopping mode does not resolve the
>     cause: if an up-to-date package intentionally uses warnings for
>     anything else than []+, it will be stopped as well.
>     This warning mode should accept an additional parameter
>     identifying the type of event (or a series/vector of events) for
>     which stopping must occur. Shouln't it?
>

For both of these reasons, introducing this oldEmptyBehaviour flag in 
Scilab 6 is questionable. It might be preferable to only improve the 
warning("stop", event) mode, and to leave Scilab 5.5.2 available on the 
download page for a long time. It will then always be possible to run 
old packages with Scilab 5.

SG

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/dev/attachments/20160309/00bd539f/attachment.htm>


More information about the dev mailing list