Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:123749 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id 444C51A009C for ; Sat, 22 Jun 2024 05:44:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1719035114; bh=IeGbkaCY7rqVbjjgmohWoFrIcxm083FOeCMhaPKtvVk=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=Ohmn8bYaFThB6c6XtogtwguWFBi5WfoVZsCU+KLRRv9tVdh0/XRf2BW17WYedP+R6 8NS5Cr2BkY8dM9rg8V7tPw0qtdRYskM8GuZ8VHHV5EwXDhXJ6VuMSWkbcVOzpCsYOC rqc5Jf2muQnNiX8TRn0dy66naeVx3AjwUbZ+Vmzq0av7vhs8wNf0Y/P9kfBz8MKyKd S8T9KOGPL2/M6ZH/uJF9H3KjzwYbk1eDsCgBRSNQxGrVsQmRL0rbREgRfhnXp4C0Qb HrcrkYkxW7UFo0GjTyZIYm2Wn5//RWUrVQk+n1rtLPWC3GUD0VfajFk5jG1OqY/cHV l3zqp1GiFBTkQ== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 08EE0180050 for ; Sat, 22 Jun 2024 05:45:14 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: Error (Cannot connect to unix socket '/var/run/clamav/clamd.ctl': connect: Connection refused) X-Envelope-From: Received: from mail-lf1-f47.google.com (mail-lf1-f47.google.com [209.85.167.47]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Sat, 22 Jun 2024 05:45:13 +0000 (UTC) Received: by mail-lf1-f47.google.com with SMTP id 2adb3069b0e04-52cd80e55efso2303886e87.0 for ; Fri, 21 Jun 2024 22:43:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719035037; x=1719639837; darn=lists.php.net; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=IeGbkaCY7rqVbjjgmohWoFrIcxm083FOeCMhaPKtvVk=; b=cube4BjZ/dobVAyy127R5QA37scfQ4MvxN2CO105T+Ej1z45Vzw6N1d79XhkMllZpO gba/8B/R/0FGrlOMkhoKkILO8cRJXZAW/bDEyS0cPUIvvfW4kAc9pWfeN/h61PUVvX+o vfV2MZdsvqypb+7fp6vlD72dIVvnItB4D9bea9MRNDySSuFKhXQW80D6ZdURKX0che1R l+0AP31DppWuHRX3mf3Ljk1j4IQNYGHCxI6n/klJ5qQsreJMkTXBd3x8a20RWt2LWaFM 77WN4CldvZzFZjsEDP5c1MjzOJZIEzdRdAatEn+RyzZXO87chBxWZoU5T6mj5kXW3S7P nM6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719035037; x=1719639837; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=IeGbkaCY7rqVbjjgmohWoFrIcxm083FOeCMhaPKtvVk=; b=U4m9vhhxQfYODGOr4Mkqr12+noUuXTUT2TvK9nIHU93DzF0o+ernVn8g03rFvbyplG i9zu+pffnKottre2+uAbN8qi7NxWUu5rVdRz2eLZakgBT40G+du+7coy4jH5nB7KCe9j wRJpirGbMsxgXi485AAJJ2XBV/f95MeqWUlqh0f9KaoJgDQTd0zNf0JKRKVeYLgHAZVJ avYyyzH1iomKte/FnpBZnIVJvphxrjES7e5URYWbH0JriVj7P6LMnCl/fk25kLraHDoW 0Z5KgRl1kjPj1nUnCrvDNnEX6QtWAvFWN33ZsU4AVVA+22QKvq2Bfk+dXV4t2MPAYSKl XmUg== X-Forwarded-Encrypted: i=1; AJvYcCU022btsaJfqIi9zWNFjzO2HD1Mg+vjzGUfj72Uor6EDOn4Lvi1PBUQ8SRBlQ/wKf9djmhnbAEL2vXD2i6R1/cp+T8Zv54Hyw== X-Gm-Message-State: AOJu0YxQiB50nwR74tdJ5IvO+HaHe95RR9xblBOkDaI0NWWTXwHGWDOW abwy4F8HlGDAFOkuI8RjvirXNTkM+EpC64WCb0/CmUlhvajjjTs0jHX0wrEqmicLR2LCj3OobpJ 0ii2tCjS9F1EKIYLCzCkbAJ5da4E= X-Google-Smtp-Source: AGHT+IEXZqbdcQEDCc/AFt18GieuoF87AktV7wnM48MXfSOsnmHw+217VSXArc4R3t4ks+Cji8svmQmrFzFMPEqlxK8= X-Received: by 2002:a19:750c:0:b0:52c:76ac:329b with SMTP id 2adb3069b0e04-52ccaa369d8mr6860239e87.35.1719035036899; Fri, 21 Jun 2024 22:43:56 -0700 (PDT) Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net MIME-Version: 1.0 References: <2a6b92eb-d5e9-4a1a-9548-a068ac42ebd2@app.fastmail.com> In-Reply-To: Date: Sat, 22 Jun 2024 07:43:44 +0200 Message-ID: Subject: Re: [PHP-DEV] [Early Feedback] Pattern matching To: "Gina P. Banyard" Cc: Larry Garfield , php internals Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable From: landers.robert@gmail.com (Robert Landers) On Sat, Jun 22, 2024 at 4:38=E2=80=AFAM Gina P. Banyard = wrote: > > On Friday, 21 June 2024 at 23:58, Robert Landers wrote: > > As a user of PHP, this statement concerns me. I don't want any > > features rushed just because someone wants it "now" and thus end up > > with something feeling half-baked, missing important features or not > > completely thought through. I think it's pretty fair that this is a > > pretty big RFC (as in scope). Were it a PR under review, I might would > > ask you to break it up into smaller PRs because it's too big to > > discuss properly and were it smaller PR's we would probably arrive at > > a better solution than the giant PR. > > > > Perhaps, it might be worth breaking up into sub-RFC's (is that a > > thing?) where each pattern/feature can be discussed independently and > > the vote is whether or not it gets implemented in the parent RFC but > > has no binding on the parent RFC. Some things may be easy to discuss > > (such as type matching) but others might be longer (such as as, or > > arrays). But (and this is the key part) it wouldn't stop you from > > proceeding on the parent RFC, which is implementing pattern matching > > (in general) and any passed sub-RFC's. > > > > Maybe that could be a path forward? I don't know who makes the rules, > > but they're human rules and they can be anything -- in theory. Maybe > > "sub-RFC's" needs an RFC to define it, but that might let you move > > faster than a) trying to do everything all-at-once, and b) let > > hard-to-define parts of the overall feature get the time they deserve. > > Breaking up an RFC into sub-RFCs which are each interdependent for the gr= eater scope to be coherent doesn't make any sense. > An RFC being "large" is not an issue. > Moreover, this RFC is *already* a "sub-RFC" of the much larger in scope m= eta ADT RFC. > > The scope of this RFC seems pretty moderate to me and well appropriate, a= nd part of this discussion is to establish what may be moved to later. > It is always possible to break down an RFC into new tiny RFCs about every= single possible design decision, it doesn't mean this should be done. > Writing RFCs, discussing them, and responding to feedback is extremely ex= hausting and time-consuming, as such the authors of an RFC are entitled to = decide what is in scope and what is not. > They also decide what can be moved out, and what cannot. > Part of being an RFC author is to *also* stand your ground on the scope a= nd design of your RFC while taking into account the feedback. > > > Best regards, > > Gina P. Banyard Hey Gina, Sorry, I wasn't exactly clear what I meant on scope. I wasn't necessarily meaning the feature/RFC, but rather the scope of the conversation. I count at least 12 new types of syntax here (possibly more that I missed), and I would be surprised if some of them were to pass in isolation; but as you said, people want the feature so they'll pass the RFC and we'll get weird symbols that are near meaningless all over our code. That's my concern here, not so much the feature. I want the feature too, but there are some weird things in here that could use longer discussions but shouldn't hold the overall feature back. Robert Landers Software Engineer Utrecht NL