Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:113420 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 4510 invoked from network); 8 Mar 2021 23:05:22 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 8 Mar 2021 23:05:22 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 999761804D3 for ; Mon, 8 Mar 2021 14:57:13 -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.1 required=5.0 tests=BAYES_50,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 wout3-smtp.messagingengine.com (wout3-smtp.messagingengine.com [64.147.123.19]) (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 ; Mon, 8 Mar 2021 14:57:12 -0800 (PST) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id D1C3D2876 for ; Mon, 8 Mar 2021 17:57:11 -0500 (EST) Received: from imap8 ([10.202.2.58]) by compute4.internal (MEProxy); Mon, 08 Mar 2021 17:57:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=IcTgFQ kCg7qgI1we4UxYcenfYkqQ5fZlrJRUPe2JoX8=; b=fFrns2Lb8LvJQ1wqnGEwBA rt/2xYarJUyJ2M9PFUI16nipqUdIbcBP6kjjGDwQ6QwxihfecY1A0CNmkgyiFpNL B04p/CliQQn8MhkBRzzBFyshzbu7B30oxrZdyQIGrfMAh7es9/f4L1tD0asqxcXo 99yOUgC8qfp6o4Tj85Uob7uHEzRgTUvRW1CmZslp1XBzaLkgvUJLognuxef9ch0e Um9gvGZn/S3etsz9O0JKNnzIYVKXZGEkGnX1OmMYBqKzdEL5ZAD1nCfUo9CkhnDQ 8NFUfnhEvAitV6B5SMZ8X60I2TkvYJORIh7L8gIV15XtUTgApIcOsANrSP9EIYAA == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudduhedgtdehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvffutgesthdtredtreertdenucfhrhhomhepfdfnrghr rhihucfirghrfhhivghlugdfuceolhgrrhhrhiesghgrrhhfihgvlhguthgvtghhrdgtoh hmqeenucggtffrrghtthgvrhhnpeevheehvdevjeelvdevgfelvefftdejkeelvdekgeeh fffgiedvjefhhfeltdduteenucffohhmrghinhepphhhphdrnhgvthenucevlhhushhtvg hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehlrghrrhihsehgrghrfhhi vghlughtvggthhdrtghomh X-ME-Proxy: Received: by mailuser.nyi.internal (Postfix, from userid 501) id 1AD643A034F; Mon, 8 Mar 2021 17:57:11 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.5.0-alpha0-206-g078a48fda5-fm-20210226.001-g078a48fd Mime-Version: 1.0 Message-ID: <667787b3-3923-4708-b6c3-6c01f6547783@www.fastmail.com> In-Reply-To: References: Date: Mon, 08 Mar 2021 16:56:50 -0600 To: "php internals" Content-Type: text/plain Subject: Re: [PHP-DEV] [VOTE] Fibers From: larry@garfieldtech.com ("Larry Garfield") On Mon, Mar 8, 2021, at 1:40 PM, Aaron Piotrowski wrote: > Greetings everyone! > > The vote has started on the fiber RFC: https://wiki.php.net/rfc/fibers > > > Voting will run through March 22nd. > > Cheers, > Aaron Piotrowski This is vastly improved from the earlier drafts I saw. Well done, Aaron! There is one issue that still stands out like a sore thumb to me, which I really should have reviewed and caught earlier. (Entirely my fault.) Fiber::this() seems like a very poorly chosen name for that method. "this" in PHP implies "the object I am currently in." Even if there's no $ on a method, that's still the mental association that word has in PHP. But in this case, Fiber::this() does not mean "the object I'm currently in," but "the Fiber object that wraps the callable I'm currently in, which is itself an object but not the object I mean, but there may be an arbitrary number of call stack levels between me and that Fiber object." That's... very confusing for a human, even if syntactically unambiguous. I am still voting Yes on the RFC, but I would urge you to follow-up (with another RFC, or a consensus agreement, no one telling you not to, or whatever the process is, I'm easy) with renaming that method to something less confusing. Fiber::active() seems like the best name to me (after some discussion with Aaron off-list), as it refers the fiber that is currently "actively" executing opcodes. Otherwise, well done and I look forward to when we can build a standardized user-facing API on top of it. :-) --Larry Garfield