Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:100607 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 53061 invoked from network); 14 Sep 2017 22:55:27 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 14 Sep 2017 22:55:27 -0000 Authentication-Results: pb1.pair.com smtp.mail=cmbecker69@gmx.de; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=cmbecker69@gmx.de; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmx.de designates 212.227.17.21 as permitted sender) X-PHP-List-Original-Sender: cmbecker69@gmx.de X-Host-Fingerprint: 212.227.17.21 mout.gmx.net Received: from [212.227.17.21] ([212.227.17.21:61083] helo=mout.gmx.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 5A/37-19300-ED80BB95 for ; Thu, 14 Sep 2017 18:55:27 -0400 Received: from [192.168.2.102] ([79.243.117.113]) by mail.gmx.com (mrgmx103 [212.227.17.168]) with ESMTPSA (Nemesis) id 0MD9uq-1deNQk2sMW-00GZzz; Fri, 15 Sep 2017 00:55:22 +0200 To: Stanislav Malyshev , Nikita Popov Cc: "internals@lists.php.net" References: <752eaf1d-5603-70f5-8e69-b8243547cad1@gmail.com> Message-ID: <320b3863-e36b-2ed4-543b-fcbd433b1c56@gmx.de> Date: Fri, 15 Sep 2017 00:55:24 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <752eaf1d-5603-70f5-8e69-b8243547cad1@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Language: de-DE Content-Transfer-Encoding: 8bit X-Provags-ID: V03:K0:9so/HUmvUIrTn/0pZYc6Tn/rPhmcev1WpbVJTwO68qT5NCQEj5R uEC3Dj/UxHtEvXXb1vHxJFkaF0moLLuzD9zIR6/EaujsZRoehrQiQ36x4O2TYoWJ/XMeMUp TsX6c2DOk6WeDkbOBdYtUgq/9+xjv/PZPwnKaXGE8eoqiZtEBC4VtG0PG+UQX72NVxtDmWt VU1QTq7eqd39KjDc0TB4w== X-UI-Out-Filterresults: notjunk:1;V01:K0:OrVJrWfuQmQ=:QNj130sIl4VQXZ5qfzdNAh Apvg5sX9dJhnPozsv33j2HV2wsIT6nqX9BcHwd1uwCPWRLhkIdp2nIgfnZBGONke6ywCQ6T3z zqHGqvA2rOXiMqJrsY5tHcczyAEKtnyQ6EEG0WHv+VRGHxY+vPWKGIJPYpfpaKD0VGvrumlG9 c1ZQu+TFg8c9abEeHDnyCe2VI9QqZf565GLibX9xP/sBxwazB0U9kZjiyCILJkGVJXjolzEKI klYbCTDmT85iVV3pqLyhaoUbe4yAPx7kbI+l9yLJ7ipll/wdjzTYPEiPBMTHh0qQ3Wi5mzJm8 4ecznOX+7WuDQPtlFxzODhpahp7S04cA/sULE5HWa2dnGsNd9V4cpKg24xLPwe+yarpJDtop4 IejCQGUfRkF2lRvzAdEukxONChLVF5CvHxIFXKIBc/gK3LoY9MUXYy/G0OWvM4uvC6WTIocc+ VfzWvIfBWzb+VB/8YKQ26lfDx9ynqZpu6JP/ysY70VDMPe9M0CfLyFxZErTpkmihMVU2sdT2v ye/lEhzcQp2NugUHfrBiHjDY4vrnyW5Gl0QQGsg1KPJUgzlgLu41V257KVQ3YhArqVMqZNfzc dncWH/rCGco80fMdwhi9IYUIIzVH1f7qgxqCZnQ3JvAOADuqkY458hQqN6AJZUTz6zMAkJFPJ 8x0qwCA7w50NIQA/uIoPhYWxrVkUQbxl+4YexwlSvAMvqYbL3v1ynTCNvz75uqJlCp1Ecqphw ioRLPrlGiMPKKVCKO4Dm4KoVLF7NDw+6x36JXpiaDXOD+QDpVteWWNFBPW9HtDEy1O8Rx27K3 TGU6H6jGgzACsLexzjy9k7AKOYss8ixGq90oErYShtMbPDi9yI= Subject: Re: [PHP-DEV] Deprecate and remove case-insensitive constants? From: cmbecker69@gmx.de ("Christoph M. Becker") On 14.09.2017 at 23:22, Stanislav Malyshev wrote: > [Nikita wrote] > >> +1 on doing this. I can understand having case-insensitive constants, but >> having both case-sensitive and case-insensitive at the same time is weird >> and rather useless. I imagine the only reason why this "feature" exists in >> the first place is to support arbitrary casing for true/false/null, which >> is better handled by special-casing these particular constants (something >> we already do for various other reasons). This will simplify the language > > If we support all case-insensitive constants that are predefined (not > sure if any exts do that but we have to support those too if they do) > then I don't see a big problem in phasing-out user-defined ones. It seems to me that this would miss the point, namely to introduce some consistency, and to be able to > [Nikita continued] > >> reduce implementation complexity on our side and resolve some bugs >> that are infeasible to fix otherwise. All programming languages that I know of are either case-sensitive or case-insensitive. PHP is the sole execption (CMIIW) – and the potential cognitive overhead during programming is hard to justify. Constants are the icing on the cake: they can be either case-insensitive or case-sensitive at the discression of the dev defining the constant. Using an extension which defines case-insensitive constants might raise the following issue: