Background --- * < 3.x && 3.x without future parser - all values are strings, and numeric operations has a variety of problems *3x future parser has a hybrid string / number auto type conversion. Early versions of the future parser had paradoxes in handing numeric values that were fixed late in the 3.x series (use 3.8.x with future parser). * 4.x is the same as 3.x future parser
The experimental current 4x evaluator also has this, but with currently fixed paradoxes in this handling automatic conversion between string and number. It continues to be a problem balancing between "being helpful" and "being correct and free of paradox".
It would be much cleaner to never automatically convert between numbers and strings (except possibly at boundaries; converting numerical facts in string form.
This Feature --- When {{\--strict}} mode is on, arithmetic on a {{String}} leads to real numbers) a warning or error as dictated by the mode. When strict is 'ignored' auto conversion still takes place. Depends on --- This feature depends on PUP-5889, that there is a strict flag, and PUP-484 since it is currently not possible to convert values.
* < 3.x && 3.x without future parser - all values are strings, and numeric operations has a variety of problems * 3x future parser has a hybrid string / number auto type conversion. Early versions of the future parser had paradoxes in handing numeric values that were fixed late in the 3.x series (use 3.8.x with future parser). * 4.x is the same as 3.x future parser
The current 4x evaluator also has automatic conversion between string and number. It continues to be a problem balancing between "being helpful" and "being correct and free of paradox".
It would be much cleaner to never automatically convert between numbers and strings.
This Feature ---- When {{\--strict}} mode is on, arithmetic on a {{String}} leads to a warning or error as dictated by the mode. When strict is 'ignored' auto conversion still takes place.
Depends on ----
This feature depends on PUP-5889, that there is a strict flag, and PUP-484 since it is currently not possible to convert values.