Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:101455 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 86191 invoked from network); 30 Dec 2017 15:14:02 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 30 Dec 2017 15:14:02 -0000 Authentication-Results: pb1.pair.com header.from=cmbecker69@gmx.de; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=cmbecker69@gmx.de; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmx.de designates 212.227.15.18 as permitted sender) X-PHP-List-Original-Sender: cmbecker69@gmx.de X-Host-Fingerprint: 212.227.15.18 mout.gmx.net Received: from [212.227.15.18] ([212.227.15.18:56462] helo=mout.gmx.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id CF/60-47595-83DA74A5 for ; Sat, 30 Dec 2017 10:14:01 -0500 Received: from [192.168.2.105] ([79.243.116.166]) by mail.gmx.com (mrgmx002 [212.227.17.190]) with ESMTPSA (Nemesis) id 0MHoC5-1eW77H19f3-003gtJ; Sat, 30 Dec 2017 16:13:54 +0100 To: Nikita Popov , PHP internals Cc: Larry Garfield References: <72392123-d37b-26df-6886-218f48205f8a@fleshgrinder.com> <58A5ABDF-AA25-46D4-83E7-4DE72E3DFF5E@gmail.com> <757270790.33iDQ9MZ2V@vulcan> Message-ID: <0d272612-700a-4b74-8fda-e33baccfe98e@gmx.de> Date: Sat, 30 Dec 2017 16:13:55 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: de-DE Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:BZIuOkFmB65lEpi0+5dr9ZRfjSyZU6P5J0yb8VJQDWTFC2AKIMs bCKLlMbozGPnG9kbGfWfbr+bdlT78Em6u9La3r3Oong2EMGdQjd8c2ns1VeVqdD6H5Sa6Wo VKKkK8E6fS9tjrrxBDKM4LOtmwP6unplMnZ/X4nODvBZn7ghAq2+yoOOysEEB/doSPwTM56 F5NAJKmX5ojRBpdVupmtg== X-UI-Out-Filterresults: notjunk:1;V01:K0:WN1CpB2tj+Q=:rptXCCe43y6TRDZy88lTEw T6EREUJX2t+gwH4bjmroGb+kVybA4/+zvVz8ReUTBMnWrDYYNyaxGrPyhD20C3nlyyRS4OsPH sy4iaE13tsPTXW3iE/nVHvS8rGzWHTcRjOsj13rWik+/qDgU1NTGDzBb0PsmgbJbLHrHwsMN0 UdkXFP0LOL70xfLaWFhg17/5nW7bJHJL75+2SZOtAQKdghNzf3SUqqCANHh1jDD1TLnaG8tv2 HT0V5MjFhunPnwI1oJD/4UKn/DPkvkbumtRRehEVlP1xNEdX/cBuwm2ptD9cqGly9/XutYHkF qWlL85cjAvQ9PXM8u3bzMgyc2dAtggOZE+zPzhtBgr9RTEHwIxnzHaVZvfODAFA2h+RI1YIeE LRCDntBVGDD8NEjavldUHztpEJoRffkL8VnTl1XysSNN4/sY+FNtB+RYEhMBaFsIYK4TZqSOp MBTJUSI2Qo72g4GjOakxu4T8nKQ3I4CKI/3KtSBd7ujHIrmqm8HUch7r0AE9ORnfcsnJ+E9Ye spOtgpZ9PVQlDOVAHTOtDdcADWHW9ZPiB2lDY/6QKowMKg5s65vGxhkZ28L0Yj7oeE3YD6LSy tS9EROeCaXBGzCiyetgF1cGfqRHJFyVeyBwv/5r/UcYKSHWKi4MSt9QEKMrpbXn1yxIJ4y0Dx Q2e4q7gJcF3WO+6AE15hsASMOTEPJ2stAlg+8tmluQAah11mfAddxdNOMAuCjk7WJLIRWfzd5 lP0fWzXp0RT+KJZwsitYC3bf0nadVTOu+uscfI0Anaa0V7SmYBzX0koAtICfINribTMoixsa4 mdIbhBfkXpISomxrTj05lEHYpkfTxIgH88HNCTT9/+xj+a3918= Subject: Re: [PHP-DEV] [RFC] [DISCUSSION] Scalar Pseudo-type From: cmbecker69@gmx.de ("Christoph M. Becker") On 29.12.2017 at 16:37, Nikita Popov wrote: > On Fri, Dec 29, 2017 at 1:08 PM, Fleshgrinder wrote: > >> What is the use case for `int|float`? I mean, if f is able to process a >> `float` than f is able to process an `int` and since `int` is already >> automatically changed to a `float`, well, you're done. > > int|float is the natural type of numeric operations in PHP. Integers > automatically overflow into floating point numbers, so signatures using int > in conjunction with numeric operations are somewhat problematic. In my humble opinion, introducing `int|float` or `number` types would not solve the real problem, namely that overflowing to float easily causes unexpected behavior. For instance: PHP_INT_MAX + 1 > PHP_INT_MAX // => false (64bit arch) -- Christoph M. Becker