Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:128929 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 248271A00BC for ; Thu, 23 Oct 2025 11:08:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1761217727; bh=qRbpay0DJU4HHJX0nu/weTRPjb5UQvcAM/gYZ3qMd6s=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=mxsXA9EP9Y6fEwM5SZsSLgJKsvQMFz0X+Zbdkts5XEjSJwMaoGCP+0lcNPlHcDqBm 0t+D8ct6Hr6m3oBBvDiEdQhChPFA3XTU8hZ7/c0WV+nKiKH8l6X6fj0M1bbqYJxZj7 ev/x4Eq1jJOHYdFSc+vjI4X+Kj/Lj2sUhGGbwSW2Y6RzuqaWogiDhcOlrhZs7ui/Uh 0Edg8c86DuZrAR2AWUdFl/tpFmdQ3Fw+6Q6x48/2LFxwyWHvbjY5uMK1M3BWW016TT 8NFqMW4f4xsPphioJk+lx9kLouIYFUOXAK36IW9HDnl2YSTUNllc+Sunn4iUFJCKvx aUkvTZ4tbowKw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 021E718006D for ; Thu, 23 Oct 2025 11:08:47 +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-vs1-f47.google.com (mail-vs1-f47.google.com [209.85.217.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 ; Thu, 23 Oct 2025 11:08:46 +0000 (UTC) Received: by mail-vs1-f47.google.com with SMTP id ada2fe7eead31-5d980e08e06so397492137.0 for ; Thu, 23 Oct 2025 04:08:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1761217721; x=1761822521; 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=qRbpay0DJU4HHJX0nu/weTRPjb5UQvcAM/gYZ3qMd6s=; b=Sp9UzeeFGYaqw1O0qrBp0raLUr7u3dQkR/fhkWN7IgLbsQ8H4fDrEpOTWrdWWYQp7b vZ8bP58e0KsT1XaJpVta9kqReqPLqUBS088PiRJFy1VObou+Oq/363b9LN0m49JmCFWA xy+p8XiBNMgOAle6iQ4qYH0OOVCRwyeaWjF/5APyO1ClzKFfaMy37GcIzg8GPSanR4lA gOX0oBU97izpD+lkObqAwdJkT1YD1B5bOuFt3h9rhXf/Jsc5BBRr+0iIAOfFd1Rd2Wy4 /vG+hhCnv3mFaR2g6icKVr6ioCvXj/+9AsA6nSS2d4Vbwg7pYn4IeG0NcCssIJTfsTwQ 8YHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761217721; x=1761822521; 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=qRbpay0DJU4HHJX0nu/weTRPjb5UQvcAM/gYZ3qMd6s=; b=OwkvtWBfZZkrfENXMMB0fJXs8yCnPYLWsT3g4Vx3NU/hsPWGK7ipHloOQGomiwjgK2 bFSR4iuS+X0mzH/zd2kxKYXnK+JmmShU94zP5x9UVRF0A++GkCpNIWbMc5Ek2JVRFYgD T3D83/FNAoeYcos984ZB73uH4O+o07+RgcInHPTJSZ0cmMjKaLqDHdJgGkZHaD+idVFJ mh5IECThm5rCsIHKRB/JPfAYgnwwvznBQ/SKnb3FRBfy0WfshDuMz2etEZpgw7kT2oop iFt2IfZdWbKeQ/RYUQJlC+9swefNYOUL53OUGX1x1B/6BtfB9FBec2wFVmbr/ZIu0m+9 b/xQ== X-Forwarded-Encrypted: i=1; AJvYcCUVBt2jfn4/Qsm/nrpOQQzdqiDz8i7NyHMD3hsV7HOiyMzevYk9kUKZncBKNfnOp84Y4H/gLjrYbE8=@lists.php.net X-Gm-Message-State: AOJu0YwogTOJSXWQGDbjJjpOjMcx1zVC5arI0dLKPrI6/Xe+NYefzWig af/9bVszF4vjAhGsWfEtTjTT4+7xM6+3yOiI91CepEUqqKGWLlo3Ggi68c05faK+1L+7u7il/n6 4obj700k89Rp/fU+EqQtkTcXEXNUzWV8nkpIqQaI= X-Gm-Gg: ASbGncv2aiqAaDBuHms18crYKgz91eOJhsjIMKkgcBu9oW29qCv6+DSu6AL5d+m6uF/ WX/ChXxoBkKO0ZNbBxSK6F37zU1E/j3gMiJPkAojPNrIiD6i78/k6QJvrFX+iDhxCAnCooCfVOX iwLAvKlIxzCinkZ0yp7RWMlVma8cZkEh88S5M8LiqgE9ot0TOc8l/KIVCjsZ+U11ENL23IePF/B hEvYiFLWi2eGLjr0aIAd3elRjVIijpX7k8fM9CO4jCdLj7EqYQ1i793A+GEBfaa8IKp4kWO0UmR QXecA49gq8dzw+U= X-Google-Smtp-Source: AGHT+IFR7qgujVnkaRZWBe8oA6KppZsdTlgOCuHyKvdcQ8E+DFonLmO2jjKO3i8ZgXwkbprGl3OMJWTbCGlCoXl++Ls= X-Received: by 2002:a05:6102:3e09:b0:5db:3935:1630 with SMTP id ada2fe7eead31-5db39351931mr19628137.11.1761217720667; Thu, 23 Oct 2025 04:08:40 -0700 (PDT) Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 References: <0e4e39d6-9cc9-4970-92e0-2463143b4011@app.fastmail.com> <37180d8d-85b4-49a3-a672-334bf4329470@app.fastmail.com> <2f8524a7-dea2-4fbf-933a-c538d3706253@app.fastmail.com> <151800a7-1094-49bc-8e43-c593a74741af@app.fastmail.com> In-Reply-To: Date: Thu, 23 Oct 2025 14:08:27 +0300 X-Gm-Features: AWmQ_bmrHJHuZp_9DPEINdtNKYEkA6-pWTr-Un5eHTD8qta-acBIsabXa3ifR4U Message-ID: Subject: Re: [PHP-DEV] PHP True Async RFC Stage 4 To: Rob Landers Cc: Aaron Piotrowski , PHP Internals Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable From: edmond.ht@gmail.com (Edmond Dantes) Hello. It seems to me that the following solution balances the different viewpoints better: 1. Keep the base `Awaitable` interface, which defines an object that can be awaited. 2. Introduce a `FutureLike` interface that extends `Awaitable`. 3. Modify the `await()` function so that it only accepts `FutureLike` objec= ts. 4. Functions such as `awaitAll` or `awaitAny` may need to be renamed, but that=E2=80=99s outside the scope of this RFC. 5. There will be no need to create a `Future` for functions designed to work with an `Awaitable` object =E2=80=94 this keeps the `select case` syntax clean. **Naming issue** I see a certain inconsistency between `await` and `Awaitable`. It might be worth coming up with a better name for `Awaitable`. I remember that =E2=80=9CObservable=E2=80=9D was once suggested.