Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Algaeff.StateSourceEffects for changing states.
module S = Algaeff.State.Make (struct type state = int end)
let forty_two = S.run ~init:100 @@ fun () ->
print_int (S.get ()); (* this will print out 100 *)
S.set 42;
S.get ()This should be equivalent to Unmonad applying to the standard state monad when continuations are one-shot. (The current implementation uses mutable references and this statement has not been formally proved.)