On Wed, Oct 22, 2025, at 06:32, Edmond Dantes wrote:
> Hi
> 
> > I don’t think it’s a “rule” per se and why I suggested breaking it up into 
> > two different kinds of Awaitables.
> > Invariants make code easier to reason about and work with. The more 
> > invariants you have, the easier it is to form, maintain, and refactor.
> 
> So that is the rule: **invariants make code easier to understand**.
> A more general principle is stated as follows: reducing complexity.
> 
> I think this point needs some thought.
> If the await operation is allowed only for Future, it will make the
> code more consistent which is a good thing.
> 
> Then it will be necessary to add a FutureInterface, and Awaitable
> should be hidden from the UserLand namespace.

A simpler solution might be to keep things as they are, but have the 
non-idempotent constructs be generators of Awaitable instead of non-idempotent 
Awaitables. This would basically mean just changing some text in the RFC and 
some implementations that aren't documented in the RFC (as far as I can tell).

— Rob

Reply via email to