Mailbox Actors

1.5. Effects🔗

The effect system (MailboxActors.Effect) describes side-effects produced by a single behaviour step. Effects form an inductive type with seven constructors:

  • noop — no observable action,

  • send j target payload — enqueue a message for engine type j,

  • update env — replace the engine's local environment,

  • spawn j cfg state — create a new child engine of type j,

  • mfilter f — transition to ready f, installing a new acceptance filter,

  • terminate — signal engine termination,

  • chain e₁ e₂ — sequence two effects.

The chain constructor gives effect composition without requiring a monadic bind; the semantics evaluates e₁ first, then e₂ on the resulting state.