On Sat, Jul 26, 2014 at 3:16 PM, Zeev Suraski <z...@zend.com> wrote:

> Kris,
>
>
>
> I’ll make it short.
>
>
>
> EVERY RFC affects the language in *some* way – be it its features,
> positioning, perception, performance, implementation, testability, you name
> it.
>

I believe that argument is specious.  The RFC says, "....a feature
affecting the language *itself*" (emphasis mine).  A feature that affects
performance need not necessarily affect the language itself.  For example,
an RFC to add an APXS configuration option to the configure script would
have no impact on the language itself, even though it technically involves
a modified implementation and testing scenario.  And affecting people's
"perception" of PHP most certainly does not constitute a feature that
affects the language itself, unless you're making a quantum theory argument
wherein the mere act of observing something alters its state.

Finally, here's an example from your RFC of how it *directly* impacts the
language itself:

> PHPNG doesn't keep original values of arguments passed to user functions,
so func_get_arg() and func_get_args() will return current value of argument
instead of the actually passed. The following code is going to be affected
“function foo($x) { $x = 2; return func_get_arg(0);} var_dump(foo(1));”
>
> Function parameters with duplicate name are not allowed anymore.
Definitions like “function foo($x,$x) {}” will lead to compile time error
“Redefinition of parameter”

So even IF you want to reduce the scope of the 2/3 requirement to language
impacts in userland only, your RFC *still* falls under that requirement
because it directly affects the language itself in userland, as described
above.  I would again invite you to reconsider your position on this and
avoid a protracted fight on this that would only serve to split the
community.

--Kris

Reply via email to