Contents
- Writer <W, A> (Func<W, (A Value, W Output)> runWriter)
- Pure (A value)
- Write ((A Value, W Output) result)
- Write (A value, W output)
- Listen ()
- Listens <B> (Func<W, B> f)
- Censor (Func<W, W> f)
- Lift (Pure<A> monad)
- Lift (Func<A> f)
- Map <B> (Func<A, B> f)
- Select <B> (Func<A, B> f)
- Bind <B> (Func<A, K<Writer<W>, B>> f)
- Bind <B> (Func<A, Writer<W, B>> f)
- Bind <B> (Func<A, Tell<W>> f)
- SelectMany <B, C> (Func<A, K<Writer<W>, B>> bind, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, Writer<W, B>> bind, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, Pure<B>> bind, Func<A, B, C> project)
- SelectMany <C> (Func<A, Tell<W>> bind, Func<A, Unit, C> project)
- >> (Writer<W, A> lhs, Writer<W, A> rhs)
- >> (Writer<W, A> lhs, K<Writer<W>, A> rhs)
- >> (Writer<W, A> lhs, Writer<W, Unit> rhs)
- >> (Writer<W, A> lhs, K<Writer<W>, Unit> rhs)
- Run ()
- WriterExtensions
- As <W, A> (this K<Writer<W>, A> ma)
- Run <W, A> (this K<Writer<W>, A> ma, W initial)
- Run <W, A> (this K<Writer<W>, A> ma)
- Flatten <W, A> (this Writer<W, Writer<W, A>> mma)
- WriterExtensions
- Map <W, A, B> (this Func<A, B> f, K<Writer<W>, A> ma)
- Map <W, A, B> (this Func<A, B> f, Writer<W, A> ma)
- Action <W, A, B> (this Writer<W, A> ma, K<Writer<W>, B> mb)
- Action <W, A, B> (this K<Writer<W>, A> ma, K<Writer<W>, B> mb)
- Apply <W, A, B> (this Writer<W, Func<A, B>> mf, K<Writer<W>, A> ma)
- Apply <W, A, B> (this K<Writer<W>, Func<A, B>> mf, K<Writer<W>, A> ma)
- Writer <W>
- Writer
- pure <W, A> (A value)
- tell <W> (W item)
- write <W, A> ((A, W) item)
- write <W, A> (A value, W item)
- pass <W, A> (Writer<W, (A Value, Func<W, W> Function)> action)
- listen <W, A> (Writer<W, A> ma)
- listens <W, A, B> (Func<W, B> f, Writer<W, A> ma)
- censor <W, A> (Func<W, W> f, Writer<W, A> ma)
- Writer <W>
- Prelude
- tell <W> (W item)
- write <W, A> ((A, W) item)
- write <W, A> (A value, W item)
- pass <W, A> (Writer<W, (A Value, Func<W, W> Function)> action)
- listen <W, A> (Writer<W, A> ma)
- listens <W, A, B> (Func<W, B> f, Writer<W, A> ma)
- censor <W, A> (Func<W, W> f, Writer<W, A> ma)
- Prelude
record Writer <W, A> (Func<W, (A Value, W Output)> runWriter) Source #
Writer
monad transformer, which adds a modifiable state to a given monad.
Parameters
type | S | State type |
type | M | Given monad trait |
type | A | Bound value type |
Methods
method Writer<W, A> Pure (A value) Source #
Lift a pure value into the monad-transformer
Parameters
param | value | Value to lift |
returns |
|
method Writer<W, A> Write ((A Value, W Output) result) Source #
Construct a writer computation from a (result, output) pair.
The inverse of Run()
Parameters
param | result | Result / Output pair |
method Writer<W, A> Write (A value, W output) Source #
Construct a writer computation from a (result, output) pair.
The inverse of Run()
Parameters
param | result | Result / Output pair |
method Writer<W, (A Value, W Output)> Listen () Source #
Writes an item and returns a value at the same time
method Writer<W, (A Value, B Output)> Listens <B> (Func<W, B> f) Source #
Listens
executes the action and adds the result of applying f
to the
output to the value of the computation.
method Writer<W, A> Censor (Func<W, W> f) Source #
Censor
executes the action and applies the function f
to its output,
leaving the return value unchanged.
method Writer<W, A> Lift (Pure<A> monad) Source #
Lifts a given monad into the transformer
Parameters
param | monad | Monad to lift |
returns |
|
method Writer<W, A> Lift (Func<A> f) Source #
Lifts a function into the transformer
Parameters
param | f | Function to lift |
returns |
|
method Writer<W, B> Map <B> (Func<A, B> f) Source #
Maps the bound value
Parameters
type | B | Target bound value type |
param | f | Mapping function |
returns |
|
method Writer<W, B> Select <B> (Func<A, B> f) Source #
Maps the bound value
Parameters
type | B | Target bound value type |
param | f | Mapping transducer |
returns |
|
method Writer<W, B> Bind <B> (Func<A, K<Writer<W>, B>> f) Source #
Monad bind operation
Parameters
type | B | Target bound value type |
param | f | Mapping function |
returns |
|
method Writer<W, B> Bind <B> (Func<A, Writer<W, B>> f) Source #
Monad bind operation
Parameters
type | B | Target bound value type |
param | f | Mapping function |
returns |
|
method Writer<W, Unit> Bind <B> (Func<A, Tell<W>> f) Source #
Monad bind operation
Parameters
type | B | Target bound value type |
param | f | Mapping function |
returns |
|
method Writer<W, C> SelectMany <B, C> (Func<A, K<Writer<W>, B>> bind, Func<A, B, C> project) Source #
Monad bind operation
Parameters
type | B | Intermediate bound value type |
type | C | Target bound value type |
param | bind | Monadic bind function |
param | project | Projection function |
returns |
|
method Writer<W, C> SelectMany <B, C> (Func<A, Writer<W, B>> bind, Func<A, B, C> project) Source #
Monad bind operation
Parameters
type | B | Intermediate bound value type |
type | C | Target bound value type |
param | bind | Monadic bind function |
param | project | Projection function |
returns |
|
method Writer<W, C> SelectMany <B, C> (Func<A, Pure<B>> bind, Func<A, B, C> project) Source #
Monad bind operation
Parameters
type | B | Intermediate bound value type |
type | C | Target bound value type |
param | bind | Monadic bind function |
param | project | Projection function |
returns |
|
method Writer<W, C> SelectMany <C> (Func<A, Tell<W>> bind, Func<A, Unit, C> project) Source #
Monad bind operation
Parameters
type | B | Intermediate bound value type |
type | C | Target bound value type |
param | bind | Monadic bind function |
param | project | Projection function |
returns |
|
Operators
operator >> (Writer<W, A> lhs, Writer<W, A> rhs) Source #
Sequentially compose two actions, discarding any value produced by the first, like sequencing operators (such as the semicolon) in C#.
Parameters
param | lhs | First action to run |
param | rhs | Second action to run |
returns | Result of the second action |
operator >> (Writer<W, A> lhs, K<Writer<W>, A> rhs) Source #
Sequentially compose two actions, discarding any value produced by the first, like sequencing operators (such as the semicolon) in C#.
Parameters
param | lhs | First action to run |
param | rhs | Second action to run |
returns | Result of the second action |
class WriterExtensions Source #
class WriterExtensions Source #
Methods
method Writer<W, B> Map <W, A, B> (this Func<A, B> f, K<Writer<W>, A> ma) Source #
Functor map operation
Unwraps the value within the functor, passes it to the map function f
provided, and
then takes the mapped value and wraps it back up into a new functor.
Parameters
param | ma | Functor to map |
param | f | Mapping function |
returns | Mapped functor |
method Writer<W, B> Map <W, A, B> (this Func<A, B> f, Writer<W, A> ma) Source #
Functor map operation
Unwraps the value within the functor, passes it to the map function f
provided, and
then takes the mapped value and wraps it back up into a new functor.
Parameters
param | ma | Functor to map |
param | f | Mapping function |
returns | Mapped functor |
method Writer<W, B> Action <W, A, B> (this Writer<W, A> ma, K<Writer<W>, B> mb) Source #
Applicative action: runs the first applicative, ignores the result, and returns the second applicative
method Writer<W, B> Action <W, A, B> (this K<Writer<W>, A> ma, K<Writer<W>, B> mb) Source #
Applicative action: runs the first applicative, ignores the result, and returns the second applicative
method Writer<W, B> Apply <W, A, B> (this Writer<W, Func<A, B>> mf, K<Writer<W>, A> ma) Source #
Applicative functor apply operation
Unwraps the value within the ma
applicative-functor, passes it to the unwrapped function(s) within mf
, and
then takes the resulting value and wraps it back up into a new applicative-functor.
Parameters
param | ma | Value(s) applicative functor |
param | mf | Mapping function(s) |
returns | Mapped applicative functor |
method Writer<W, B> Apply <W, A, B> (this K<Writer<W>, Func<A, B>> mf, K<Writer<W>, A> ma) Source #
Applicative functor apply operation
Unwraps the value within the ma
applicative-functor, passes it to the unwrapped function(s) within mf
, and
then takes the resulting value and wraps it back up into a new applicative-functor.
Parameters
param | ma | Value(s) applicative functor |
param | mf | Mapping function(s) |
returns | Mapped applicative functor |
Methods
method Writer<W, Unit> tell <W> (W item) Source #
Tell is an action that produces the writer output
Parameters
type | W | Writer type |
param | item | Item to tell |
returns | Structure with the told item |
method Writer<W, A> write <W, A> ((A, W) item) Source #
Writes an item and returns a value at the same time
method Writer<W, A> write <W, A> (A value, W item) Source #
Writes an item and returns a value at the same time
method Writer<W, A> pass <W, A> (Writer<W, (A Value, Func<W, W> Function)> action) Source #
pass
is an action that executes the action
, which returns a value and a
function; it then returns the value with the output having been applied to
the function.
method Writer<W, (A Value, W Output)> listen <W, A> (Writer<W, A> ma) Source #
listen
executes the action ma
and adds the result of applying f
to the
output to the value of the computation.
MonadStateT
trait implementation for StateT
Parameters
type | S | State environment type |
type | M | Given monad trait |
Methods
method Writer<W, Unit> tell <W> (W item) Source #
Tell is an action that produces the writer output
Parameters
type | W | Writer type |
param | item | Item to tell |
returns | Structure with the told item |
method Writer<W, A> write <W, A> ((A, W) item) Source #
Writes an item and returns a value at the same time
method Writer<W, A> write <W, A> (A value, W item) Source #
Writes an item and returns a value at the same time
method Writer<W, A> pass <W, A> (Writer<W, (A Value, Func<W, W> Function)> action) Source #
pass
is an action that executes the action
, which returns a value and a
function; it then returns the value with the output having been applied to
the function.
method Writer<W, (A Value, W Output)> listen <W, A> (Writer<W, A> ma) Source #
listen
executes the action ma
and adds the result of applying f
to the
output to the value of the computation.
Methods
method Writer<W, B> map <W, A, B> (Func<A, B> f, K<Writer<W>, A> ma) Source #
Functor map operation
Unwraps the value within the functor, passes it to the map function f
provided, and
then takes the mapped value and wraps it back up into a new functor.
Parameters
param | ma | Functor to map |
param | f | Mapping function |
returns | Mapped functor |
method Writer<W, B> action <W, A, B> (K<Writer<W>, A> ma, K<Writer<W>, B> mb) Source #
Applicative action: runs the first applicative, ignores the result, and returns the second applicative
method Writer<W, B> apply <W, A, B> (K<Writer<W>, Func<A, B>> mf, K<Writer<W>, A> ma) Source #
Applicative functor apply operation
Unwraps the value within the ma
applicative-functor, passes it to the unwrapped function(s) within mf
, and
then takes the resulting value and wraps it back up into a new applicative-functor.
Parameters
param | ma | Value(s) applicative functor |
param | mf | Mapping function(s) |
returns | Mapped applicative functor |