On Sat, Aug 11, 2018 at 11:29:41AM +0200, Pablo Rodriguez wrote:
> I realize that the fault is mine, but with backwards compatibility I
> meant that the same operation (10 + "10") gives different results with
> different Lua versions.

  It doesn’t, it returns 10 in both cases.  The difference is in the
behaviour of the print function.  Try

        print(10.0)

in Lua 5.2 and 5.3: the former prints 10, the latter 10.0.  That is
consistent with the part of the specification you quote in another
email: in Lua >= 5.3, a number with a decimal point in it is always
interpreted as a float.  If the number to be printed is the result of
some computation, however (instead of lexical analysis), a choice needs
to be made: that is where the change occurred, since in Lua 5.2 print
displayed the shortest possible representation, while in Lua 5.3 it
chose to interpret the number as a float.  It’s a reasonable choice and
breaking compatibility for an elementary function such a print is to be
expected when such a change in the language occurred; even desirable, in
my opinion.

        Best,

                Arthur
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to