On 07/20/2013 08:00 AM, Sherif Ramadan wrote:
> While this is very true it's also a matter of discretion, because the
> language doesn't clearly define a lot of things. In fact, one can argue
> that there is no language definition at all since PHP doesn't even have a
> spec. Though I'm trying to take common sense into consideration and make an
> exception that in this case I don't see where removing the comment of
> undefined behavior is going to necessarily cause more harm than good. Since
> in the case of undefined behavior people will be left to wonder (why
> doesn't ever seem to print 5?) We should either elaborate on why it *might*
> print 5 in a full note on that page or we should remove the comment
> completely. I oppose a documentation that leaves much room for clarity.
> 
> But perhaps for me it was easier to suggest removing the comment than
> trying to clarify on why the behavior is undefined.

The language spec is a combination of the grammar and the documentation.
The documentation has stated this is undefined for a long time now. The
reasoning behind it was that since C and C++ both quite explicitly state
this is undefined and since implementations of PHP are likely to be in C
and C++ chances were pretty good that this undefined behaviour would end
up being inherited. Now, as it turns out, we haven't had that many
implementations of the language. But, there have been some. Also,
optimizers could potentially do something intelligent here that could
potentially change the outcome.

-Rasmus

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to