|
Advance a chain value by one step, providing 'e'.
-
c
:
'e -> Chain<'e, 'a>
-
e
:
'e
-
Returns:
Either<('e -> Chain<'e, 'a>), 'a>
|
|
Functor map for the chain monad.
-
c
:
Chain<'a, ('b -> 'c)>
-
a
:
Chain<'a, 'b>
-
Returns:
Chain<'a, 'c>
|
|
Monadic bind for the chain monad.
-
c
:
Chain<'a, 'b>
-
a
:
'b -> Chain<'a, 'c>
-
Returns:
Chain<'a, 'c>
|
|
Loop in a chain context while 'pred' evaluates to true considering only the world state.
-
pred
:
unit -> bool
-
c
:
Chain<'e, unit>
-
Returns:
Chain<'e, unit>
|
|
Loop in a chain context while 'pred' evaluate to true considering only the loop data.
-
i
:
'i
-
step
:
'i -> 'i
-
pred
:
'i -> bool
-
c
:
'i -> Chain<'e, unit>
-
Returns:
Chain<'e, unit>
|
|
Functor map for the chain monad.
-
f
:
'a -> 'b
-
a
:
Chain<'c, 'a>
-
Returns:
Chain<'c, 'b>
|
|
-
Returns:
Chain<'e, 'e>
|
|
Pass over the next event.
-
Returns:
Chain<'e, unit>
|
|
React to the next event, discarding the event's value.
-
expr
:
unit -> unit
-
Returns:
Chain<'e, unit>
|
|
React to the next event, using the event's data in the reaction.
-
expr
:
'a -> unit -> unit
-
Returns:
Chain<Event<'a, 's>, unit>
|
|
React to the next event, using the event's value in the reaction.
-
expr
:
'e -> unit -> unit
-
Returns:
Chain<'e, unit>
|
|
Monadic return for the chain monad.
-
a
:
'a
-
Returns:
Chain<'b, 'a>
|
|
-
c
:
Chain<'e, 'a>
-
Returns:
Either<('e -> Chain<'e, 'a>), 'a>
|