A good practical example of backwards-incompatible changes in version 4.0 is the behavior of Calc while computing 0 ^ 0.

You can find a long issue, with different points of view, about this at:
but in short:
- Obviously, 0 ^ 0 is an illegal operation in mathematics and the result is undefined/invalid
- In 3.4.1, "=0 ^ 0" returns 1
- In 4.0, as patched by Pedro (see issue), "=0 ^ 0" would return an error
- According to ODF, valid results are 0, 1, error
- We gain interoperability since Excel returns an error too
- We lose backwards compatibility if someone was relying on the fact that OpenOffice returns 1 as the result of "=0 ^ 0"

I'm OK with the proposed change, provided we advertise it in the release notes. I'm not aware of any cases where someone is actively using the fact that in Calc 0 ^ 0 evaluates to 1, and even if someone did, I would say that his spreadsheets should not compute 0 ^ 0 at all. A side benefit would be that school students quickly wanting to find out what is the result of 0 ^ 0 would be told the truth (it's an error) instead of being presented with a numeric result and no warnings. (Then the student would go on and write "= - 2 ^ 2" and have a lot of fun, but this is out of scope here).

Is there consensus that this is a reasonable backwards-incompatible change, or compelling reasons to revert it?


Reply via email to