Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:87034 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 94181 invoked from network); 5 Jul 2015 20:39:50 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 5 Jul 2015 20:39:50 -0000 Authentication-Results: pb1.pair.com header.from=morrison.levi@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=morrison.levi@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.216.48 as permitted sender) X-PHP-List-Original-Sender: morrison.levi@gmail.com X-Host-Fingerprint: 209.85.216.48 mail-vn0-f48.google.com Received: from [209.85.216.48] ([209.85.216.48:35916] helo=mail-vn0-f48.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 84/15-21549-31699955 for ; Sun, 05 Jul 2015 16:39:48 -0400 Received: by vnbg129 with SMTP id g129so21340507vnb.3 for ; Sun, 05 Jul 2015 13:39:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type:content-transfer-encoding; bh=sa3YoMJp70+eSiYpAFB0Xc7fsONjAjgKPL2FJFSiD0M=; b=pZzN+qliOndCD0WbHBeRmSNQ6wh5236/3Zk5wG+E/yjZnJEwxhEl+vw0bNdtnlCFRw LF/fOEjVbRCihguit+zcwPIeJyal39NrHfOsE2O4FXSBw+2aXPDSByErkObISwlgdMfi RnOPDonOOEfXGcvCWeyP793HP3Dmlo0EzMa1zJ7e5H3z1nqaWFoa4M5vtJo3uLxUD3Q+ 7httmIHqTNvPDr0SsxbxOspjXZGnRJjMQngBvhEQKxMKqbXt3yFTwufsxaVQ0zYCP81t C7MPh5HwyYVbRfCFChjIke/BKilwTO4bgUidJhSSkxzcWWQM6b9PNjj/WiDxNqyYj6Ay eGhg== MIME-Version: 1.0 X-Received: by 10.52.230.2 with SMTP id su2mr46764631vdc.55.1436128785278; Sun, 05 Jul 2015 13:39:45 -0700 (PDT) Sender: morrison.levi@gmail.com Received: by 10.31.16.81 with HTTP; Sun, 5 Jul 2015 13:39:45 -0700 (PDT) In-Reply-To: <0b1b01d0b752$ac7da0e0$0578e2a0$@belski.net> References: <0b1b01d0b752$ac7da0e0$0578e2a0$@belski.net> Date: Sun, 5 Jul 2015 14:39:45 -0600 X-Google-Sender-Auth: Q2VLe9qnHa97h-arZwFq9YUq9Nw Message-ID: To: Anatol Belski Cc: Ferenc Kovacs , Sherif Ramadan , Dan Ackroyd , =?UTF-8?B?SmFrdWIgS3Viw63EjWVr?= , Dmitry Stogov , Bob Weinand , Andrea Faulds , PHP Internals , Nikita Popov , Aaron Piotrowski , Kalle Sommer Nielsen Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] Re: Revert unapproved language change, was: Fix division by zero to throw exception (round 2) From: levim@php.net (Levi Morrison) On Sun, Jul 5, 2015 at 12:44 PM, Anatol Belski wrot= e: > Hi, > >> -----Original Message----- >> From: Ferenc Kovacs [mailto:tyra3l@gmail.com] >> Sent: Sunday, July 5, 2015 7:02 PM >> To: Sherif Ramadan >> Cc: Dan Ackroyd; Jakub Kub=C3=AD=C4=8Dek; Dmitry Stogov; Bob Weinand; An= drea Faulds; >> PHP Internals; Nikita Popov; Aaron Piotrowski; Levi Morrison >> Subject: Re: [PHP-DEV] Re: Revert unapproved language change, was: Fix >> division by zero to throw exception (round 2) >> >> On Sun, Jul 5, 2015 at 1:01 PM, Sherif Ramadan >> wrote: >> >> > On Sun, Jul 5, 2015 at 6:29 AM, Dan Ackroyd >> > wrote: >> > >> > > On 4 July 2015 at 20:56, Sherif Ramadan >> wrote: >> > > > >> > > > I'm proposing that we reconsider removing the warning from >> > > > floating >> > point >> > > > division and here's why. >> > > >> > > Wait ....what? I don't remember an RFC about the behaviour changing. >> > > Did someone ninja commit a change to the language? >> > > >> > > Well it sure looks like it: >> > > >> > > >> > https://github.com/php/php- >> src/commit/f9724b93f6592d2f77fa9165038a0ba0 >> > db3da0c6 >> > > >> > > This is absolutely a change that needs an RFC. As the change was >> > > done without one, please can it be reverted until an RFC is done? >> > > >> > >> > I actually fully agree to the IEEE 754 compliance part and I doubt >> > anyone will disagree on that part as it only stands to benefit >> > everyone. However, I completely disagree with removing the warning >> > blind-sidedly and especially two days before the beta1 release like >> > that. I do opt that it be reverted, however, until the matter is fully >> > resolved. If that happens to take a day or a month it shouldn't result >> > in releasing ad hoc changes that will be wish-washy between releases >> > like that should something change. At the very least let's cherry pick >> > it out of the beta 1 release to ensure we've fully resolved the matter= . >> > >> > >> hi, >> >> my 2 cents: >> the IEEE 754 related changes had enough discussion and while it would ha= ve >> been nice handling it under an rfc earlier instead of pushing it late ca= lling it a >> bugfix I think we should keep it. >> however I see little point in removing the warning at this point, I can = understand >> how from a purist point of view it makes little sense, but we have this = warning >> forever and as people already pointed out at the very least can help wit= h >> debugging bugs in your code. >> so I would keep the warning for 7.0 (as removing it after beta1 would be= even >> worse than pushing the change 2 days before tagging beta1). >> > The related changes are reverted as breaching BC. The issue reported by D= an is likely to prevent people from catching errors the ways they do it in = PHP5. Furthermore, it's likely to break apps or make them misbehave. This i= s something we can't bear so short before beta1. > > Bob, I would kindly ask you again to not to commit such controversial cha= nges without having a clear OK from the community. As for me - IMHO, the pr= oper solution could be your first commit introducing exceptions for all (as= in many other programming languages for div by zero) - but it was a BC bre= ach as well, timed too short before feature freeze. So it is something that= clearly needs an RFC to evaluate any possible risks and to make an informe= d collective decision. Many things are not perfect yet even in PHP7, but we= have our timeline plan on which you was voting, too. > > Thanks > > Anatol I just want to chime in and say that I have a contributed to a popular application written in C that actually uses division by zero in a useful manner. I feel like the rest of you think this is solely a programmer error, and wanted to chime in to reiterate that this is not the case. I would be in favor of removal of the error/warning and *especially* would be against an exception for division by zero. Division by zero as defined by IEEE 754 is actually useful which is why it is often followed instead of sticking to a strict mathematical definition where it is an error. I understand that some people are just upset about the timing/discussion, which is possibly understandable - I have been too busy lately to follow anything so I don't know. I just wanted to jump in here and clarify the usefulness of what was actually changed.