3 ms·
I don't know much about Tcl, but I thought everything was a string, not a float? It appears to work with integers just fine: $ echo 'puts [expr 2 ** 128 + 1]
by ptx 5y ago
I don't know much about Tcl, but I thought everything was a string, not a float? It appears to work with integers just fine:
$ echo 'puts [expr 2 ** 128 + 1]' | tclsh
340282366920938463463374607431768211457
$ python3 -c 'print(2 ** 128 + 1)'
340282366920938463463374607431768211457
$ node -p 'Math.pow(2, 128) + 1'
3.402823669209385e+38
- martincmartin 5y agoYeah good point, I updated my comment. Thanks!
- tpoindex 5y agoTcl hasn't been string based for 20 years, misinformation is hard to eliminate. Since the release of version 8.0 in 2001, Tcl internally has value types for integer, bigints, double, boolean, lists, etc.. As long as you're careful not to cause the internal value to 'shimmer' into a string representation, Tcl maintains the value type as last used. Tcl happily converts values to strings as needed, giving the impression of 'everything is a string'.