std.state
The state monad.
Types
type State s a = s -> { value : a, state : s }
Values
#[implicit]
let applicative : forall s . Applicative (State s)
A Functor
with application.
The following laws should hold:
wrap id <*> v = v
wrap (<<) <*> u <*> v <*> w = u <*> (v <*> w)
wrap f <*> wrap x = wrap (f x)
u <*> wrap y = wrap (\g -> g x) <*> u
A Functor
represents an action on a parameterized type which does not
change the structure with the mapped type.
The following laws should hold:
map id == id
map (f << g) == map f << map g
A generalised interface for imperatively sequencing actions