Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:112417 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 20629 invoked from network); 4 Dec 2020 23:56:37 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 4 Dec 2020 23:56:37 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 356441804C9 for ; Fri, 4 Dec 2020 15:24:55 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=BAYES_20,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_PASS,SPF_NONE autolearn=no autolearn_force=no version=3.4.2 X-Spam-Virus: No X-Envelope-From: Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Fri, 4 Dec 2020 15:24:54 -0800 (PST) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 047225C0039 for ; Fri, 4 Dec 2020 18:24:53 -0500 (EST) Received: from imap26 ([10.202.2.76]) by compute4.internal (MEProxy); Fri, 04 Dec 2020 18:24:53 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; bh=/Sk/NkgjJX8dXRMp7EMgtoAY784KR KtCwUeSQwP8BzY=; b=gvk6JcrHJhHy59yYb3MNhu9MUoBAij8P7MbBEkAHoB2vB ti9AHm4K4bEcNlgMV72Gy6cuo4AT5Gx8cv2JKcKdF7fEACIRMJ2QoziBzbOZ/Fi8 P9f8T8RUYFRRgB4jDa33MbQITS7KrVj/ldkGZNqkAe/i8V/PYvW23TGeuBVY/SQo G7pOOcS07C9e0ArS9Ib08CQcsaLr3gv62t/0Dhpb6QGEqXUGxCs/beL4QbFpY4lY JefK7QhV8+xRMdS9n/Xs/EwMM1gzypp8ezGiJBmey0g0NWOrmU0odp0RGNT/XWq4 taPEkhizU4ZZO8IAIfdTsHwKHnH0F563rGa/Zlkfw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrudeiledgtdeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkfffhvffutgesthdtredtreertdenucfhrhhomhepfdfnrghrrhih ucfirghrfhhivghlugdfuceolhgrrhhrhiesghgrrhhfihgvlhguthgvtghhrdgtohhmqe enucggtffrrghtthgvrhhnpeegheffiefhtdekfeevffeuieeihfejudfhuefhtdetleel hfdvjeetkefggfeuieenucffohhmrghinhepphhhphdrnhgvthenucevlhhushhtvghruf hiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehlrghrrhihsehgrghrfhhivghl ughtvggthhdrtghomh X-ME-Proxy: Received: by mailuser.nyi.internal (Postfix, from userid 501) id A601714200A2; Fri, 4 Dec 2020 18:24:52 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.3.0-622-g4a97c0b-fm-20201115.001-g4a97c0b3 Mime-Version: 1.0 Message-ID: Date: Fri, 04 Dec 2020 17:24:32 -0600 To: "php internals" Content-Type: text/plain Subject: [RFC] Enumerations From: larry@garfieldtech.com ("Larry Garfield") Greetings, denizens of Internals! Ilija Tovilo and I have been working for the last few months on adding support for enumerations and algebraic data types to PHP. This is a not-small task, so we've broken it up into several stages. The first stage, unit enumerations, are just about ready for public review and discussion. The overarching plan (for context, NOT the thing to comment on right now) is here: https://wiki.php.net/rfc/adts The first step, for unit enumerations, is here: https://wiki.php.net/rfc/enumerations There's still a few bits we're sorting out and the implementation is mostly done, but not 100% complete. Still, it's far enough along to start a discussion on and get broader feedback on the outstanding nits. I should note that while the design has been collaborative, credit for the implementation goes entirely to Ilija. Blame for any typos in the RFC itself go entirely to me. *dons flame-retardant suit* -- Larry Garfield larry@garfieldtech.com