On Sat, Aug 23, 2014 at 6:40 PM, Rasmus Lerdorf <ras...@lerdorf.com> wrote:
> On 8/22/14, 11:25 PM, Pierre Joye wrote:
>> There is. Long is not used anymore. So we can argue about that but
>> there is a change and it should be reflected imo.
>>
>> You still totally ignore any of my other points, which are even more
>> important in regard to maintaining one code tree for 5.x and 7.x,
>> which is very likely not possible in a sane way for many extensions.
>
> I ignored it because it is irrelevant.

These points are not irrelevant:

- zend_uint should go away, uint32_t should be used instead
- zend_int_t could remain. it matches the respective, architecture
specific int32_t
  and int64_t being used behind it. _t standing for _typed just like
in the standard
  types intXX_t

And we can add:

- zend_size_t can be dropped in favor of size_t

And dangerous APIs signature changes are not irrelevant either. And
many of them are not related to performance at all but a choice made
at the implementation time. So the solid technical reason you mention
later does not apply here.

On the same area, I would also prefer not to use STR_* defines but
directly called zend_string_*, it will drastically reduce errors
during porting or later.

> The fact that many related things
> are changing does not justify piling on more changes.

RIght.

>  Every change
> should have a very solid technical reason behind it. "Long is not used
> anymore" is not a solid technical reason.

Consistent APIs, in my book, is a solid technical reason.

> The code will compile
> perfectly fine with it being IS_LONG. Also, these are userspace-facing
> in the sense that as an extension author we are dealing with PHP's type
> system consisting of lval, dval, string, array, object and resource. How
> exactly an lval or IS_LONG is implemented at the C level on any given
> platform is an implementation detail and could change, but we are still
> providing an lval to userspace.

Extensions write should not use the zend_value member directly but use
the provided APIs or macros, which is called Z_IVAL btw. Want to
change to Z_LVAL? WIll be more consistent.

> As C developers, extension authors are
> more than capable of checking the actual macro definition if they want
> to know the details.

I have not doubt about the capabilities of the extension developers,
but improving APIs quality reduces the # of errors.

> I'd also appreciate if you would drop your toxicity level a few notches
> in your emails to the list, irc and twitter.

I do not agree with your definition, but as long as there are double
standards and related behaviors, I do not see how things can improve.
The way this RFC has been handled is a shame. If NG would have got as
much code reviews, got blocked twice while being accepted, etc. I do
not think Dmitry or Laruence would be that happy at this point. And
seriously, this is a pretty bad behavior. It is also not the 1st time
it happens. Only difference is that I do not care much when something
happens, I know each of you long enough, but other simply left.
Anyway, it does not help anyone to argue about that over and over, I
can agree with you on that.

Cheers,
-- 
Pierre

@pierrejoye | http://www.libgd.org

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

Reply via email to