Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:76842 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 22534 invoked from network); 23 Aug 2014 19:10:46 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 23 Aug 2014 19:10:46 -0000 Authentication-Results: pb1.pair.com smtp.mail=pierre.php@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=pierre.php@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.192.42 as permitted sender) X-PHP-List-Original-Sender: pierre.php@gmail.com X-Host-Fingerprint: 209.85.192.42 mail-qg0-f42.google.com Received: from [209.85.192.42] ([209.85.192.42:48223] helo=mail-qg0-f42.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id D3/01-06800-437E8F35 for ; Sat, 23 Aug 2014 15:10:45 -0400 Received: by mail-qg0-f42.google.com with SMTP id j5so11773176qga.15 for ; Sat, 23 Aug 2014 12:10:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=yxdLJ4dp4oB5NW2obMvGKlwWf5H+FOKrY1WFmbYKVco=; b=byAo2RXuEj6XJGFjqOD0VdapFsLZ5ah7CdPW9QfzN2+Vh8T1GfP3IeMiEAYUwFIY6e GivHXdAcvS5/I5XlMSuCNDrvSooxEd573jL8cq89WbLqLadZ4rGRJTWS07IcGtnyuIBC jzip7/VTax9Bf01jbnB7lSPIMnQ1u1wNEdwCmk85iZ0IP7mRA+OqlGRI3osY6Z130VV2 YU4IELwbNXhi29Ihvv7FQ0eg/DyxFxiM6/YU99sZ2sgCY4Cgq2oBWzdWBeaYFOKStJEt CXI0Dyc7Ibhl7ae9lV5joGllsEiAIDoJsDo79YGfjGySknngGUbsUjKxmW44Cp7T+Teq U9nA== MIME-Version: 1.0 X-Received: by 10.224.40.145 with SMTP id k17mr21000992qae.4.1408821042229; Sat, 23 Aug 2014 12:10:42 -0700 (PDT) Received: by 10.140.95.146 with HTTP; Sat, 23 Aug 2014 12:10:42 -0700 (PDT) In-Reply-To: <53F8C3F2.1090009@lerdorf.com> References: <53F7F6ED.1050609@lerdorf.com> <53F82F16.3030601@lerdorf.com> <53F832F0.7010601@lerdorf.com> <53F8C3F2.1090009@lerdorf.com> Date: Sat, 23 Aug 2014 21:10:42 +0200 Message-ID: To: Rasmus Lerdorf Cc: PHP internals Content-Type: text/plain; charset=UTF-8 Subject: Re: [PHP-DEV] [RFC] Better type names for int64 RFC From: pierre.php@gmail.com (Pierre Joye) On Sat, Aug 23, 2014 at 6:40 PM, Rasmus Lerdorf 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