Effect

An effect is a struct which abstracts a collection of interactions with sagas.

Use Effect

You can use effects in a Automaton or a handle block. You can create a handle block like this:

use Effectful # to use handle/1

handle fn id ->
  perform id, some_effect
end

Pre-defined Effects

Cizen has several pre-defined filters. For convenience, you can alias all of them by;

use Cizen.Effects # aliases all effects.

or only specified effects:

use Cizen.Effects, only: [Subscribe, Receive, Dispatch]

Effects for Event

Effects for Saga

Effects Combinators

Custom Effects

See Cizen.Effect.