Coroutines make robot code easy
I think that developers have minimal scheduling primitives available to them, to schedule complicated work, in the order and timings you want it to have.<p>I don&#x27;t like hardcoding functions in coroutine pipelines. Depending on the ordering of your pipeline, you might have to create things and then refer to them, because of the forward reference problem.<p>Here&#x27;s my stackoverflow question for what I&#x27;m getting at:<p><a href="https:&#x2F;&#x2F;stackoverflow.com&#x2F;questions&#x2F;74420108&#x2F;whats-the-canonical-approach-to-creating-multiple-producers-and-consumers-with" rel="nofollow noreferrer">https:&#x2F;&#x2F;stackoverflow.com&#x2F;questions&#x2F;74420108&#x2F;whats-the-canon...</a><p>Coordinating work between independent threads of execution is adhoc and not really well developed. I would like to build a rich &quot;process api&quot; that can fork, merge, pause, yield, yield until, drop while, synchronize, wait (latch), react according to events. I feel every distributed systems builds this again and again.<p>Go&#x27;s and Occam&#x27;s CSP is pretty powerful.<p>I&#x27;ve noticed that people build turing completeness ontop of existing languages, probably due to the lack of expressivity of the original programming langauge to take turingness as an input.