<story><title>Ruby 3.0 and the new FiberScheduler interface</title><url>http://www.wjwh.eu/posts/2020-12-28-ruby-fiber-scheduler-c-extension.html</url></story><parent_chain></parent_chain><comment><author>rdw</author><text>&amp;gt; all relevant standard library methods have been patched to yield to the scheduler whenever they encounter a situation where they will block the current fiber&lt;p&gt;This is huge.  They solved the function-coloring problem by deciding that all functions are now potentially async.  It makes it more likely that the ecosystem as a whole actually becomes async-compatible.  I wish Python had taken this approach, though I understand why they didn&amp;#x27;t.</text></comment>
<story><title>Ruby 3.0 and the new FiberScheduler interface</title><url>http://www.wjwh.eu/posts/2020-12-28-ruby-fiber-scheduler-c-extension.html</url></story><parent_chain></parent_chain><comment><author>elcritch</author><text>As an outsider, why doesn&amp;#x27;t&amp;#x2F;can&amp;#x27;t Ruby implement a full actor system like Erlang&amp;#x2F;BEAM? Ruby is already based on message passing so it seems like it should be possible. Granted it&amp;#x27;d likely induce a large performance hit since presumably every object would need to be locked or have a message queue.</text></comment>