3 ms·
At 5.3 the behaviour of the basic arithmetic operations were changed in a fundamental and non-backwards compatible way to bring in those integers. That certainl
by upofadown 5y ago
At 5.3 the behaviour of the basic arithmetic operations were changed in a fundamental and non-backwards compatible way to bring in those integers. That certainly counts as a language fork, as opposed to the other two examples.
- pull_my_finger 5y agoIt definitely is the mainstream continuation of that language by the original authors. Changing the API, or the implementation, or making other breaking changes does not automatically (or otherwise exclusively) make it a "language fork". Lua has the luxury of making breaking changes, and most Lua users both accept and appreciate that. Lua is continuously refined while languages like JavaScript and PHP are stuck with their (sometimes dubious) decisions forever or _break the web_.
- upofadown 5y agoThis is not breaking an API or the implementation. It is not a refinement. This is a change to the language itself. If you had a published standard it would be a change and not an addition.
- josephcsible 5y agoWas the release of C11 a fork of the C language, since they removed the gets() function?
- upofadown 5y agoA change in a library is not a change of the language. So definitely no.
- josephcsible 5y agoOkay, will the release of C2x be a fork of the C language, since it's going to remove support for K&R function definitions (and not every such function can be rewritten to use the new style)?
- upofadown 5y agoANSI C definitely counted as a language fork. Things were different in that there were multiple existing branches and ANSI C was a fairly attempt to create a dominant one. This example supports my contention that you have to clearly identify which branch you mean, K+R vs ANSI was definitely something you had to specify.
- giraffe_lady 5y agois every OS version a fork, is every new parliament a new country? there are markers other than backwards compatibility for continuity.
- upofadown 5y agoI am claiming a very specific thing, a language fork. Your examples are entirely different things that have nothing to do with computer languages.
- shakna 5y agoIn 5.2, environments were changed in a fundamental and non-backwards compatible way. CFunctions used to have environments, but now they don't. This also affected equality when comparing between function values. In 5.4, they changed _the way that numbers behave_: > Literal decimal integer constants that overflow are read as floats, instead of wrapping around. Which, by the definition used for 5.3 being a fork, would also be a fork. It's a fundamental change of the entire numeric tower.