Skip to content

0.4: Actors

No due date 0% complete
  • Actors
  • Futures
  • Executors

Support > 1K parallel actors on a laptop. Doesn't need to be the greatest yet, but needs to be good enough to use, getting the language level right as first step is important. Finesse like work stealing can come later.

Block + fork model is the current idea:

let mailbox = Mailbox new.
let actor = { mailbox do: { |each| MyActor h…
  • Actors
  • Futures
  • Executors

Support > 1K parallel actors on a laptop. Doesn't need to be the greatest yet, but needs to be good enough to use, getting the language level right as first step is important. Finesse like work stealing can come later.

Block + fork model is the current idea:

let mailbox = Mailbox new.
let actor = { mailbox do: { |each| MyActor handle: each } } fork.
world publish: mailbox as: "MyActor".
actor wait: 10 seconds.
actor kill.
  • Copy the closure to a new actor, run it there.
  • Acceptable messages are:
    • Mailboxes (pass by id)
    • Primitives
    • Records
    • Tuples
    • Arrays

There are no open issues in this milestone.

Add issues to milestones to help organize your work for a particular release or project.

Create new issue

Or find and add issues with no milestone in this repo.