Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:92782 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 69982 invoked from network); 26 Apr 2016 14:20:52 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 26 Apr 2016 14:20:52 -0000 Authentication-Results: pb1.pair.com smtp.mail=pthreads@pthreads.org; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=pthreads@pthreads.org; sender-id=unknown Received-SPF: error (pb1.pair.com: domain pthreads.org from 209.85.161.180 cause and error) X-PHP-List-Original-Sender: pthreads@pthreads.org X-Host-Fingerprint: 209.85.161.180 mail-yw0-f180.google.com Received: from [209.85.161.180] ([209.85.161.180:33945] helo=mail-yw0-f180.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 63/70-02401-4497F175 for ; Tue, 26 Apr 2016 10:20:52 -0400 Received: by mail-yw0-f180.google.com with SMTP id j74so14462130ywg.1 for ; Tue, 26 Apr 2016 07:20:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pthreads-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=wlQVqhOAcCDw+1nozUjrJTu7Cmx6NceIYBqy/LTFW4w=; b=ZttQ1iE/lj7ZksOhtrfi1LTdfFOj0bw7GvZGnxzMEdXwEPpZCV0hHFy02Iu1yjP+Tl hMbJNabw4PDdP7Dd9a2zvW/3Tq7rNbAQhZFUZ1lksrZAAowRaDoJmVjdwPEHOZElszOk 3QqPs6uxnqROuXP97qniHyT5rixKUqs7JBv5x4NLFqsV5UxBnzx/CBBjlNTrHBPedEyL q0EBGtwzy90v3VRvaW/MvLmOoUCYz8bRliUnIlithBX7LP9M32Asvd/SSuPUCF8YY1IS PJy2c1VSNMUT776Nz9R77vmxFBXqtY8yf1FYAMbPN6nmSSwWZyc2F0AUc/7T/BZeFEL4 FxfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=wlQVqhOAcCDw+1nozUjrJTu7Cmx6NceIYBqy/LTFW4w=; b=BpgDng6g2D2G3WLmGb23TFwGa1pR7XHkH+Pjg/1rc8Q77YwJtIflrM9h3M8C5j1hsT 5y1xCNpkrE0afzyS1OYmngjnPMEbTfLXjFv/wRDUJRNM25dxJlqKJNab6J4a5t2Tf8Bs 1HG084K+stUyDvHd4x25H+nQ2qC0yQY5RE/VUAuh0P+HIejiJVWdEhzcBApvBkWUBquZ DqloLyH0TdTC5HDsQrcmegYPbezw5nu19QpyyaDCpmVDm+jUMkykhpUYGF91Di9QOuFf rYxS6DGEFZTkSsiswdIWZejH7cWYozuR7BYxme9Sf8WvXeHAKeJp+7FZuBX+9ov8759w lxJw== X-Gm-Message-State: AOPr4FXPIHVkDBSthPPBVZq8GELu3zs45yuxdioJiJDk8A9B4kbF9q+FSr+sLNjXQPQ3RZPWZvDot9aInm6aOA== MIME-Version: 1.0 X-Received: by 10.129.33.133 with SMTP id h127mr1639315ywh.169.1461680449337; Tue, 26 Apr 2016 07:20:49 -0700 (PDT) Received: by 10.129.109.67 with HTTP; Tue, 26 Apr 2016 07:20:49 -0700 (PDT) X-Originating-IP: [165.120.174.34] In-Reply-To: References: Date: Tue, 26 Apr 2016 15:20:49 +0100 Message-ID: To: Bob Weinand Cc: Dmitry Stogov , Levi Morrison , internals Content-Type: multipart/alternative; boundary=001a11429262f56e7c053163ff0a Subject: Re: [PHP-DEV] [RFC] Patch for Union and Intersection Types From: pthreads@pthreads.org (Joe Watkins) --001a11429262f56e7c053163ff0a Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Fully agree, I think we should move ahead with the nullable question first, and swiftly. Happy for them to go to vote, tomorrow, if that was serious. Cheers Joe On Tue, Apr 26, 2016 at 3:19 PM, Bob Weinand wrote: > > > Am 26.04.2016 um 15:33 schrieb Dmitry Stogov : > > > > hi Levi, > > > > It looks like your "work" on "Nullable Types" RFC was intended to win > time for this patch and block "Nullable Types" again. > > Actually, you have been blocking it for more than a year :( > > > > I'm going to push my own RFC for voting together with "Union Types". > > > > https://wiki.php.net/rfc/nullable_return_types > > > > At least, it has up to date implementation. > > > > We discussed this internally 2-3 weeks ago, and my politeness (or/and > stupidity) allowed you to pass your version for common discussion. > > Now I can see your real reason :( > > > > Both "Union Types" and "Nullable Types" may make sense, and both should > be voted at the same time. > > Tomorrow is time to start voting. Right? > > > > Thanks. Dmitry. > > > > > > ________________________________________ > > From: Levi Morrison > > Sent: Tuesday, April 26, 2016 02:37 > > To: internals > > Subject: [PHP-DEV] [RFC] Patch for Union and Intersection Types > > > > Internals, > > > > Joe Watkins and Bob Weinand have worked out a [proof-of-concept patch > > for union types][1]. Please go download it and experiment with it. > > > > A few things to note: > > > > * This patch includes intersection types. However, a type expression > > must be either a union type or an intersection type; it doesn't > > support both such as `Array | (Countable & Traversable)`. > > * This patch adds `null`, `true` and `false` for type declarations. > > * This patch includes conversion rules for weak types. > > * It does not have short-hand for unions with null (`?Foo` being `Foo = | > Null`) > > > > These features (or omitted ones) are not necessarily what will be > > voted on. Rather this patch allows us to experiment with these > > features in code. This experience should be helpful for us to solidify > > how we actually feel about these features. > > > > I especially would like people to try out the conversion rules for > > scalar types as it has been a point of discussion. > > > > [1]: https://github.com/php/php-src/pull/1887 > > Hey Dmitry, > > Please, do not accuse us of blocking the nullables. This wasn't > intentional and rather a coincidence that we provided a patch right now. > First we wanted to concentrate our forces on getting a great 7.0 out > before starting this RFC (as it didn't make it in time for going into 7.0 > too as we waited for result on scalar types in general first). > Then, as you're aware Levi had absolutely no time for a few months=E2=80= =A6 Now, > he has time to manage things and we could move ahead quickly and write th= e > patch up. > > I'd like to hold first a formal (and binding) vote on whether "null |" or > "?" should be used (in case both RFCs pass). Rushing things through right > now might just us ending up with semantics the vast majority dislikes. > > Thanks, > Bob --001a11429262f56e7c053163ff0a--