Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:102497 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 11957 invoked from network); 27 Jun 2018 16:15:17 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 27 Jun 2018 16:15:17 -0000 Authentication-Results: pb1.pair.com header.from=aaron@trowski.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=aaron@trowski.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain trowski.com designates 199.38.81.6 as permitted sender) X-PHP-List-Original-Sender: aaron@trowski.com X-Host-Fingerprint: 199.38.81.6 mercury.negativeion.net Received: from [199.38.81.6] ([199.38.81.6:54081] helo=mercury.negativeion.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id D4/60-01794-018B33B5 for ; Wed, 27 Jun 2018 12:15:14 -0400 Received: from localhost (localhost [127.0.0.1]) by mercury.negativeion.net (Postfix) with ESMTP id 8B41B2019D64F0; Wed, 27 Jun 2018 12:15:06 -0400 (EDT) X-Virus-Scanned: amavisd-new at negativeion.net Received: from mercury.negativeion.net ([127.0.0.1]) by localhost (mercury.negativeion.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fvsqVAEsQwbq; Wed, 27 Jun 2018 12:15:05 -0400 (EDT) Received: from [10.0.1.2] (unknown [173.225.159.140]) by mercury.negativeion.net (Postfix) with ESMTPSA id 7C6972019D64CD; Wed, 27 Jun 2018 12:15:05 -0400 (EDT) Message-ID: <86AF7032-F3EF-417C-9E9E-11FA482ACF69@trowski.com> Content-Type: multipart/alternative; boundary="Apple-Mail=_985F5AF1-00A6-4A9E-B205-B0AD09BAD458" Mime-Version: 1.0 (Mac OS X Mail 11.2 \(3445.5.20\)) Date: Wed, 27 Jun 2018 11:15:04 -0500 In-Reply-To: Cc: Niklas Keller , Zeev Suraski , PHP Internals To: Dmitry Stogov References: X-Mailer: Apple Mail (2.3445.5.20) Subject: Re: [PHP-DEV] PHP 2^3 From: aaron@trowski.com (Aaron Piotrowski) --Apple-Mail=_985F5AF1-00A6-4A9E-B205-B0AD09BAD458 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > On Jun 27, 2018, at 1:48 AM, Dmitry Stogov wrote: >=20 > Hi Niklas, >=20 > Fibers are the major feature we're looking forward to, because it > allows async I/O in places that do not account for async, e.g. also > re-using interfaces designed for sync applications. Apart from that, > we want to avoid the boilerplate we currently have to write, i.e. > Amp\call wrapping a generator function. >=20 > We already have ext/fiber proposal and additioal branch implementing = stack-full fibers. > I think, we'll build fibers in the PHP core reusing this work, keeping = the proposed API and behavior. >=20 I concur with Niklas - Fibers are the major feature needed, the = stack-full branch in particular. Being able to reuse so much existing = PHP code is particularly exciting. Most modern, testable PHP code = performing IO should allow for async IO implementations, since IO should = be mockable to be properly tested. >=20 > We think that a methodless "Promise" / "Awaitable" type + fibers > implemented with keywords are the preferred way over the current Fiber > draft in the long run. >=20 > This is too abstract. > What keywords do you like for fibers and why do we need them? > Why do we need Promise/Awaitable in the core? > If you have concrete solution (just API), lets discuss it in separate = email thread. Niklas and/or I will put something together and start a new thread. Regards, Aaron Piotrowski --Apple-Mail=_985F5AF1-00A6-4A9E-B205-B0AD09BAD458--