Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:92783 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 71424 invoked from network); 26 Apr 2016 14:22:31 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 26 Apr 2016 14:22:31 -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.176 cause and error) X-PHP-List-Original-Sender: pthreads@pthreads.org X-Host-Fingerprint: 209.85.161.176 mail-yw0-f176.google.com Received: from [209.85.161.176] ([209.85.161.176:33048] helo=mail-yw0-f176.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 69/C0-02401-7A97F175 for ; Tue, 26 Apr 2016 10:22:31 -0400 Received: by mail-yw0-f176.google.com with SMTP id t10so16396795ywa.0 for ; Tue, 26 Apr 2016 07:22:31 -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=AHjj9QxYYM7DhXc6NwSx+jPoEs9C0+C+uX6D8fMfH24=; b=LOmSeDX3EKxPsW/ax3d5u+AT10XXd+9pDgcefQKcSxVjcBF/iV9rJ7wTt5wPcdzkbw 0WkpgmTsMfL415v+inumn2J19PwzilD1QvXX3hk9XgKboXF4qSoXvjIU6GJQazmSCYfR /qyHdMXxiuTnFb2PQ8NTFTjiXro16neZzWH5uj8ZB1E2hEhar+yincx+6cZak7O7uRZh ePos42F6NaLn9tuWQN35jNRJtvHueuzN5R1j/yWG+ok2b+oxnVn0FLrUirJ83URz/1wg Ant+V1wRXnz7HYwwAn1goQTRMNu8bOd+iaEbXETF3r1c2uikS7Dpe4gzTSk4p3Cwi0j3 P9+g== 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=AHjj9QxYYM7DhXc6NwSx+jPoEs9C0+C+uX6D8fMfH24=; b=AcSfN0e8J7LudH1+c7C3Uy05GjZ3LYSWTCtn0JgOxZZ7uWgkhLLOhGsb5btBMIgKGx uOyQyb/feNdDbBja1Uj8ckFsqh/2ul9cGmfRvO/+s8IuY5ayPOmASDcp8Rzu/Uab5SP0 gejTDBCecYvpm9o0er4fkCLinKYlUjGTEBCbM9JR+Cwwer/rh+dp4xR2l9cHJigRS0+f Aj78mGHjfUSmSsa8WRXHWsKrGtwCmutMd91LUQ9SNFXvNtX7eJ23PkyfQ1O75HW2d1ci XecP8d9PNjaF/ijtHQSnwViIf2RmvXoKUssnuNZjW9FfsX04HK71HeOdsb3sRQGLCaz6 tNsQ== X-Gm-Message-State: AOPr4FV2nbUrWm9b6W1JP842B9uaHkqpookBIRPiOOa3dtqNRkVUymtE9DP0uRP3Sx7U7gMShz4AVFVJ7IIlVg== MIME-Version: 1.0 X-Received: by 10.129.33.133 with SMTP id h127mr1644580ywh.169.1461680548846; Tue, 26 Apr 2016 07:22:28 -0700 (PDT) Received: by 10.129.109.67 with HTTP; Tue, 26 Apr 2016 07:22:28 -0700 (PDT) X-Originating-IP: [165.120.174.34] In-Reply-To: References: Date: Tue, 26 Apr 2016 15:22:28 +0100 Message-ID: To: Bob Weinand Cc: Dmitry Stogov , Levi Morrison , internals Content-Type: multipart/alternative; boundary=001a11429262e3c37105316405c5 Subject: Re: [PHP-DEV] [RFC] Patch for Union and Intersection Types From: pthreads@pthreads.org (Joe Watkins) --001a11429262e3c37105316405c5 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Dmitry, Just to be clear, the nullable support in the implementation of union/intersection is not a suggestion, the patch will conform to whatever is decided by nullable types RFC. That was always the intention. Cheers Joe On Tue, Apr 26, 2016 at 3:20 PM, Joe Watkins wrote: > 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 shoul= d >> 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 t= he >> patch up. >> >> I'd like to hold first a formal (and binding) vote on whether "null |" o= r >> "?" should be used (in case both RFCs pass). Rushing things through righ= t >> now might just us ending up with semantics the vast majority dislikes. >> >> Thanks, >> Bob > > > --001a11429262e3c37105316405c5--