Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:93536 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 52739 invoked from network); 25 May 2016 21:37:23 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 25 May 2016 21:37:23 -0000 Authentication-Results: pb1.pair.com smtp.mail=smalyshev@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=smalyshev@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.220.47 as permitted sender) X-PHP-List-Original-Sender: smalyshev@gmail.com X-Host-Fingerprint: 209.85.220.47 mail-pa0-f47.google.com Received: from [209.85.220.47] ([209.85.220.47:35961] helo=mail-pa0-f47.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 7E/2E-14311-21B16475 for ; Wed, 25 May 2016 17:37:23 -0400 Received: by mail-pa0-f47.google.com with SMTP id eu11so12401238pad.3 for ; Wed, 25 May 2016 14:37:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=DLhFIL4fmud9ho+Ap7BaDCGSgldzgMac+ICrtQ9BXwU=; b=oW012efVsLBA7VK/czgB16C4h86nGrR00h0HluOcrO7GAbzvWzqqIEWOxAEYiBjXd1 gs/7e9E7lXm8f/TCOSAb2But2uMhEkAiok1SS6H3xLN40lx1PwWEeSdbWQB9trd59QnT HtvQvslXsYG8+McA0JQ+PByIFqGVatKEwmmXlTSElkAi5ELQYygLY74Cp6mn/7DshXCs WmGp94+6N1h7id9dmq2IqJGWHu3WTUK39av9hov5iFCznTmujAIgPz9lIcE9aSM+gg1K PPO/nlQULxFX0ljBs33qnTWTGydAg87oNRiSBQ6xAapZeM4qyxYY5LrVm2r2A2loMTDH hh3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=DLhFIL4fmud9ho+Ap7BaDCGSgldzgMac+ICrtQ9BXwU=; b=E/Qkxfs/4XH5Vze/qkIvIEIBIh9lc1ymg0IouijzQ1PJ/HCFk4PuWEHF6OjoyULSel PZP19GKdnBenSt0g/zpAleP9R0PxS7oPS237YhlqvhgtumTQ3lT7L4tVTA1BHiSryV7G cYilTmaT+Rq4JYZ+/hJWLvBwwE45oc+2D6Uar3ungbHNwjMqYyvEEkfEVHLW4kAt64M3 nJ0aXDYT/ZX2nVGUk2kXCik+ZBHclzm7e7+8gm1t+NrfbRC3o0HNh/H8Cve8Ye40PZjO 8WbNF1uCsnWJS2GZps0jwABDuTNbClKHYK7sy4x9OhEgw0eKhPK2Qn9oaic8RDgwW2V0 O8fg== X-Gm-Message-State: ALyK8tIdkZ/2fD8SSYYQhYM4JiAoWOl4OFVu6yNHDNVx14YLPcseuN9am5DRW4tFIc8wpQ== X-Received: by 10.67.4.7 with SMTP id ca7mr8809605pad.55.1464212239832; Wed, 25 May 2016 14:37:19 -0700 (PDT) Received: from ?IPv6:2602:304:cdc2:e5f0:a925:c02c:2c13:602c? ([2602:304:cdc2:e5f0:a925:c02c:2c13:602c]) by smtp.gmail.com with ESMTPSA id g11sm509512pfd.89.2016.05.25.14.37.17 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 25 May 2016 14:37:18 -0700 (PDT) To: internals@lists.php.net, Andrea Faulds References: <7B.12.14311.F79C5475@pb1.pair.com> <1b12b09f-f190-dca0-51d9-468e9c571268@fleshgrinder.com> Cc: Marco Pivetta , Benoit Schildknecht , Niklas Keller Message-ID: <4ec823c6-b039-fc91-7c78-60d67719cd81@gmail.com> Date: Wed, 25 May 2016 14:37:08 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:45.0) Gecko/20100101 Thunderbird/45.1.0 MIME-Version: 1.0 In-Reply-To: <1b12b09f-f190-dca0-51d9-468e9c571268@fleshgrinder.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [RFC][Vote] Typed Properties From: smalyshev@gmail.com (Stanislav Malyshev) Hi! > We already have the differentiation between IS_NULL and IS_UNDEF, why > not expose the latter to userland? I mean, JavaScript has it too and > people are able to understand it. IS_UNDEF is not a PHP type, it is an engine implementation flag. Now, adding a new type "undefined" would be a pretty big thing and then you'd need to deal with all the implications of it. Including a huge BC break of changing the type of all uninitialized variables, and the question of "what if I want my parameter to be able to accept undefined values" and so on. Huge can of worms, and all of it again just to have a type that is exactly like null but not null. While the only reason null exists is to do exactly what "undefined" is proposed to do. -- Stas Malyshev smalyshev@gmail.com