News for hackers. Stuff that matters.
Re:Ruby Methods Are Colorless by spankalee on Wednesday July 24, 2024 @12:33PM (#41058789)
If it wasn't hard, it would have been done. I suppose we should all await your backwards compatible proposal?

> No, it isn't.

Yes, actually, it is. Async functions are a concept that only affects the internal structure of a function - to generate the state machine that allows yielding at `await` keywords and resuming after they resolve. Externally they are no different from "sync" Promise-returning functions.

So they only thing that async functions do is enable yielding at the callsite, the `await` keyword is what actually yields at the callsite and you can await anything, not just async functions.

Again:

> I want to be able to designate a computationally-intense function call (just that call, leaving the other calls alone) as async so that control yields to the event loop.

This is what `await` is - `await` yields. Non-await calls don't yield.

Re:Ruby Methods Are Colorless by throw10920 on Wednesday July 24, 2024 @10:01PM (#41064101)
> If it wasn't hard, it would have been done.

This comment shows a true departure from reality. Computing is filled to the brim with ideas that are easy but are not implemented for reasons other than difficulty.

> I suppose we should all await your backwards compatible proposal?

Your sarcasm merely helps to further demonstrate that you're not interested in a serious discussion.

> Yes, actually, it is.

Then it should be trivial for you to show me an instance of a sync function calling an async one, synchronously waiting for it, then getting back the return value, without clever hacks.