> Why not keep the name Awaitable instead of creating a FutureLike, but just 
> harden the interface? We can always loosen the interface in the future, or 
> create a new interface for "streaming"
> awaitables (aka, multi-shot Awaitable). Then await() could change its 
> signature from Async\await(Awaitable $awaitable): mixed to 
> Async\await(Awaitable|StreamingAwaitable $awaitable) at some
> point in the future -- and it would be BC.

The Awaitable interface is not typically associated with
Future/Promise. While the term Future is known to almost everyone. The
degree of recognition for Future is much higher.
The term StreamingAwaitable reflects a different meaning.
The fact that FutureLike extends the Awaitable interface reflects the
idea that Futures can be used in select-like operations just as
Awaitable objects can.

If someone prefers a different name instead of Awaitable, I have
nothing against it, but please provide a rationale.

Reply via email to