std.writer
Implementation of the Writer
type
Types
type Writer w a = { value : a, writer : w }
The writer Monad
Values
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
#[implicit]
let applicative : forall w . [Monoid w] -> Applicative (Writer w)
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 generalised interface for imperatively sequencing actions