Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:113770 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 13828 invoked from network); 25 Mar 2021 14:18:30 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 25 Mar 2021 14:18:30 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 9233C1804C0 for ; Thu, 25 Mar 2021 07:14:29 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=no autolearn_force=no version=3.4.2 X-Spam-Virus: No X-Envelope-From: Received: from mail-qv1-f67.google.com (mail-qv1-f67.google.com [209.85.219.67]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Thu, 25 Mar 2021 07:14:29 -0700 (PDT) Received: by mail-qv1-f67.google.com with SMTP id cx5so1199054qvb.10 for ; Thu, 25 Mar 2021 07:14:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=newclarity-net.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=ZTEF/FthFyx/f+PZdkW42BMmBmDj89mY3TAdqmxUsAE=; b=mClkQFgNsHkMWu5k3w+3ON5sSWxw48ms+CvgpNFEOGmla/tK7WzNrNbWKg/tDq5nSH f5ZdD4f2aI9Bg4hnxtjFWes4817i4aYSAYoaiRTEXzX3RYBoGqIKMfIA5Yy9UwRLRUrb CIxHfHt7MZE2Fmpm2rcM6dCYDbYPuE0gURTpsSjkcU2A3TsnW6AngZyCuns4FvaH+O8P dDC3jtgL+qMbd63YjxSuBQstueAQS9CWCgFw/6nJkQ/1TSxl77OaEwq806ojHXVVu9gm oiXw+WK9ifkX0fHnooFL8D9hQM26QR++8zW/crpPaGhvUZlLSc8gE/632lwdhakI9NhE CsvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=ZTEF/FthFyx/f+PZdkW42BMmBmDj89mY3TAdqmxUsAE=; b=YqGVjolgbM5As6ki7xP8Gx89SABRQg5bpArmwwaMHSwg+35T9XqsrteGxurYQQ/Uw/ Jg0wo3WqHIbkj4WXsQRKR6oLhdvyC9w0ewras0MI3B2gPJ4YPC+sqXCHNEie7eJJl6gK zPS96q3QI0f/FU94PIJVzN4LG4Eie9X8ZG9ycJO1nfFvnfXh4XgFgyM3UTMo6ClvNob+ rvye6qqAYPFMGP8Ep/z+DzE40W0CzA9FlhCzuix0/lZuyJqFJoekpyOc5sOdnxZ7PtNL TpgLR+ETsrZiSVxJaCIHF9eJcBZxx0gI7tDOwH/RitkLAyFqtkw4KUHIbLYTX77pEzH9 xNjw== X-Gm-Message-State: AOAM533tbx3YrAzT0CqQ1m93vtYXcienP0D/mQ6spsjKrf0kmBGlfiyZ /T8fz5KkifOAIQ+rxx4XmZA7KXU0h+pRQv4o X-Google-Smtp-Source: ABdhPJzRqY5f1tLucVOF6x2gyQKDtT7EQ9dR30U/na7MH619kfUZkPm0NWCqhwg1VLyfij2wDzxI8Q== X-Received: by 2002:ad4:4cca:: with SMTP id i10mr8709331qvz.49.1616681668302; Thu, 25 Mar 2021 07:14:28 -0700 (PDT) Received: from [192.168.1.239] (c-24-98-254-8.hsd1.ga.comcast.net. [24.98.254.8]) by smtp.gmail.com with ESMTPSA id p17sm3420794qtx.71.2021.03.25.07.14.27 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 25 Mar 2021 07:14:27 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.4\)) In-Reply-To: Date: Thu, 25 Mar 2021 10:14:26 -0400 Cc: PHP internals Content-Transfer-Encoding: quoted-printable Message-ID: <21A4385A-3489-4AD5-8A6D-04F7DFA08F63@newclarity.net> References: <88c9eb5f-f80c-4869-b7f8-1b58b9e2eaa3@www.fastmail.com> <4DC3B66E-A91A-4AA9-8872-8EE9DE92C2D4@cschneid.com> <8c72c162-83c0-7c7f-2fa7-4fbe3fb30a4a@gmail.com> <605bae82.1c69fb81.f49f7.d11eSMTPIN_ADDED_MISSING@mx.google.com> <919e30e7-3e5e-d955-7bb4-1e1b5825cdd1@gmail.com> <635DD146-FC6F-4991-8D2C-5A6B492722D5@newclarity.net> <734f12de-da98-6b76-c2fe-8682f4d177aa@gmail.com> <605c9029.1c69fb81.c938.7861SMTPIN_ADDED_MISSING@mx.google.com> To: =?utf-8?Q?Olle_H=C3=A4rstedt?= X-Mailer: Apple Mail (2.3608.120.23.2.4) Subject: Re: [PHP-DEV] [RFC] Auto-capture multi-line closures andshortfunctions take 2 From: mike@newclarity.net (Mike Schinkel) > On Mar 25, 2021, at 9:54 AM, Olle H=C3=A4rstedt = wrote: >=20 > 2021-03-25 14:29 GMT+01:00, Mark Randall : >> On 25/03/2021 09:28, Rowan Tommins wrote: >>> That's not quite what I meant. I meant that you can't say "capture = by >>> default, but this variable is definitely local". >>=20 >> I think if there's one argument against, this would be it, but IMHO = it >> is a weakness in PHP as a whole. >>=20 >> The solution would be adding JS-like let / const statements. Which = would >> be a benefit to other things too. >=20 > JS does not support "definitely local". No language does, AFAIK. > Unless you count value types. Actually, at least a few languages on this list have "definitely local" = variables: https://en.wikipedia.org/wiki/List_of_programming_languages I have had in-depth experience with two of them, the former of which was = a dynamic language and both support auto-capturing closures:=20 - Clipper=20 - GoLang #fwiw