Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:129521 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 lists.php.net (Postfix) with ESMTPS id 1044A1A00BC for ; Wed, 3 Dec 2025 04:32:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1764736341; bh=nqDX/uMeIbrb97fFSOS9EeMr0iJ5qjevz11CTfuqvk8=; h=From:Subject:Date:References:Cc:In-Reply-To:To:From; b=Xfwl6fmo8w9cfuFqHSb32SXEkt5gYD2wnZf5V5RZcCKVenVkRRgZoxlWus9nNus/v B+YRhEcrkSLjfGZZAY1Rs9Zf9x1W7UylklVLoL4bVOh8emt6+3KxbnkcbXT2s1t/Qs CBEiBF1FdejIHpdzRN4Wk2iqZTBll1pu6m4irNL0X46pMB5g4uDasfqZ4F4S65+vc9 KTTZSkZkWzsjkeH7WGNGqeMqDa7Ij1SPiqgwbBfLRrSHh04dfZ3IzfOhTc0V10kwQz XJizbddcJnDzp69uYAUjtQt0FtWQG31ogGrB378Q7nHhGPQ8O+Qiq69+b2OnIBO3P/ KkamgO5cowb+w== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id DF49B18006C for ; Wed, 3 Dec 2025 04:32:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) 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 autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from mail-ed1-f52.google.com (mail-ed1-f52.google.com [209.85.208.52]) (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 ; Wed, 3 Dec 2025 04:32:20 +0000 (UTC) Received: by mail-ed1-f52.google.com with SMTP id 4fb4d7f45d1cf-6419b7b4b80so9343520a12.2 for ; Tue, 02 Dec 2025 20:32:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1764736334; x=1765341134; darn=lists.php.net; h=to:in-reply-to:cc:references:message-id:date:subject:mime-version :content-transfer-encoding:from:from:to:cc:subject:date:message-id :reply-to; bh=nqDX/uMeIbrb97fFSOS9EeMr0iJ5qjevz11CTfuqvk8=; b=hPpFA3/HQdwwFOAU/SAyLRrs94jIpFpoU4WNLtTyALx/Mgvg3YPVjuu0oWzdQU2nb5 IqIKeGqCgvKd9+9WZQa+1e6n6gHQAKksCeztlJWLvmiJaeBILaTofjT6ZRhRJCxo5ZCE YcUo+jYVu2j0POk8VsqQROlOm8sMmKs11ubVsSybobLV4R0ptJElREx4EtB6XWQpDb9D WovLxzrGfiRPriYEDcdB1jqx7D90G03JTvT0+9L/r53kqvZC2uH8iNPITwsQxgyxZaWq h2AMjCgoaZk8sciDcKB5zMGtpuWNPOCwgnt91pPfJYA2ibn3ksgUsZSLT40Z53I0U6O5 +jJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764736334; x=1765341134; h=to:in-reply-to:cc:references:message-id:date:subject:mime-version :content-transfer-encoding:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=nqDX/uMeIbrb97fFSOS9EeMr0iJ5qjevz11CTfuqvk8=; b=Avp9SxGswZybubbOJUUENncHIYuK/DXijdENzcbPuB+6eUs2A0ameRGNWon5ZS6tNu I74FVJLPk0sMTuNXholtcDR2TjI1eeY9oieywvRRO7VfMvvDgfq//CSGE3Tn+hztqr96 EVpAXPMWstWtb+nD7mgHj70KRaBG6XSxWEzoEdRKPALnUdnhn2T6kr5BKPcL/ZfFOGjG VwDXRoFwCZC+pWGkC6XYbwuqkKd1JjlRrxERjoSnbFBxyYaoOUN+7MCoPPo2pIBuwOL8 qhbV23JO/2W5k0xb1dnk2jTNCVoZoQK4+J1odx0teT+iSAefMNeo9oz/mLZ0BiN6TuWX G8xA== X-Gm-Message-State: AOJu0Yxoi5sF6u+g8vIR07oU5RTNk54EeIjBF/38ZoKnl4r0wHIfF3l6 Q3B7aUQrsUC1XGm6pP4ix+WR4A8WWVk7DGMFJX2B+QeDmtLn976Ia/Uo/xnSQQ== X-Gm-Gg: ASbGncuHUBdWoHcD6zC07fbNaJZP50+CxJlfKH7bDisGpdNTJpCuJha1JvEDxnxcrKe aivJPKtkhrHTKiS6t3Yo8L+Xn2jRIF8Jr5jn4+Rmz3UNUf10mTTip1BH4p+bAchRLV7dqKQggbc 72QGJoT9jwP+8aNIimv0TWESqxRK+/gj7HG8gbAi4BEe3a8AOi3h9j2A/nDKFvdeg19TAdIEBo4 4cMRImjmgoiyJxJhxZfiVIPmQgSiytvjKd7QN26Y3cDaIOF6LuqaLPQEyQ9gSQyrLX53KzyBIoH uUX2ucwxeqK+kYgfXBOiUKkzFkeUZC0Jni5Wrm8i5PsGWg4FNbpCCKlZHt9sF/rBi5ij/zhyCNS LakBjiAlxpsdphfWTOVSelpU9URp3gs+4682oDZ+YINxod4GfvWMO+S2SSjfaE9hZ05UjAZDQbx 2j8hKg9dl0+dJ50R8T85191YBXr3og/w== X-Google-Smtp-Source: AGHT+IE/9fAlAQmTaia1AIY+J67ejDPl0oZOsevXbFargBgN0X2yTY4dlU3VDLHzxtjvWgBUjldv8Q== X-Received: by 2002:a17:907:1c27:b0:b76:bcf5:a38a with SMTP id a640c23a62f3a-b79db5eff95mr75940266b.0.1764736334203; Tue, 02 Dec 2025 20:32:14 -0800 (PST) Received: from smtpclient.apple ([178.134.17.116]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b76f519e8f4sm1706899366b.22.2025.12.02.20.32.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Dec 2025 20:32:13 -0800 (PST) X-Google-Original-From: Dmitry Derepko Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow Mime-Version: 1.0 (1.0) Subject: Re: [PHP-DEV] [RFC] Pattern Matching Date: Wed, 3 Dec 2025 08:32:02 +0400 Message-ID: References: <3b5b8394-fc68-48ff-abc9-c0e8f261fb46@app.fastmail.com> Cc: php internals In-Reply-To: <3b5b8394-fc68-48ff-abc9-c0e8f261fb46@app.fastmail.com> To: Larry Garfield X-Mailer: iPhone Mail (23B85) From: xepozzd@gmail.com (Dmitry Derepko) > On Dec 3, 2025, at 12:03=E2=80=AFAM, Larry Garfield wrote: >=20 > $filtered =3D array_filter($arr, is Point(x: <10)); Btw, it looks incorrect and short closure is preferable here array_filter($arr, fn($x) =3D> $x is Point()) Or if it works with DFA array_filter($arr, ? is Point()) If your example illustrated a pattern as an argument I think it=E2=80=99s no= t valid case, because a pattern is something after =E2=80=9Cis=E2=80=9D? The= point, enumerated types or values. And =E2=80=9Cis=E2=80=9D here is an acti= on/function/intention to match left and right operands.=20 But kotlin style is perfectly matched here array_filter($arr, { $it is Point() }) --=20 Best regards,=20 Dmitrii Derepko.=20 @xepozz