Message from JavaScript discussions

December 2018

— But you can't interleave execution without manually creating each pause / async point

— 

Yes, in fact coroutines are a cooperative multitasking construct, meant for manual cooperation implemented by a developer

— But, I said fuck that

— So the compiler figures it out for you

— Voluntary preemptive multitasking is basically "automatic cooperative multitasking"

— Over-engeneering!

— 1. coroutine makes function call
2. call data is saved in queue
3. all other coroutines run
4. the coroutine in #1 finally gets to make the call

Message permanent page

— This is the entire execution model

— There is nothing more to it

— It is "deferred execution"

— I disagree and in fact have a contrasting opinion, which is to say that I think JS is "under-engineered"

Message permanent page

— Look at every other language capable of automatic concurrent execution, like I have, and I think you would change your mind because they have not treated the concept as over-engineering, instead treating it as an essential part of the execution flow

Message permanent page