{"body":"\n-- S3IX scheduler\n_S =  function()\n\n  local function _get_actor_routes(event, reg, acc)\n    if #event == 0 then return {} end\n    if reg[event[1]] ~= nil then\n      for _, v in ipairs(reg[event[1]]) do\n        table.insert(acc, v)\n      end\n    end\n    return acc\n  end\n\n  local function _next(ev, actors, reg, ready)\n    for _, pid in ipairs (_get_actor_routes(ev, reg, {})) do\n      if actors[pid] ~= nil then\n        table.concat(actors[pid]['mbox'], ev)\n      end\n    end\n    return _next({computer.pullSignal(0)}, actors, reg, ready)\n  end\n\n  return {\n    ['run']   = function() _next({}, {}, {['key_down'] = {'0.10.0'}}, {}) end,\n    ['spawn'] = _spawn,\n  }\nend\n\n_S().run()\n","name":"","extension":"txt","url":"https://www.irccloud.com/pastebin/Mk8jA0i4","modified":1511142723,"id":"Mk8jA0i4","size":681,"lines":30,"own_paste":false,"theme":"","date":1511142723}