FSharpPlus


StateT<'s, 'monad<'t * 's>> Type

Monad Transformer for State<'S, 'T>

Table of contents

Functor

Static members

Static member Description

f <!> x

Full Usage: f <!> x

Parameters:
    f : 'T -> 'U
    x : StateT<'S, ^Monad<'T*'S>>

Returns: StateT<'S, ^Monad<'U*'S>>
Modifiers: inline

Lifts a function into a StateT. Same as map. To be used in Applicative Style expressions, combined with <*>

f : 'T -> 'U
x : StateT<'S, ^Monad<'T*'S>>
Returns: StateT<'S, ^Monad<'U*'S>>

Applicative

Static members

Static member Description

x *> y

Full Usage: x *> y

Parameters:
    x : StateT<'S, ^Monad<'T*'S>>
    y : StateT<'S, ^Monad<'U*'S>>

Returns: StateT<'S, ^Monad<'U*'S>>
Modifiers: inline

Sequences two States left-to-right, discarding the value of the first argument.

x : StateT<'S, ^Monad<'T*'S>>
y : StateT<'S, ^Monad<'U*'S>>
Returns: StateT<'S, ^Monad<'U*'S>>

x <* y

Full Usage: x <* y

Parameters:
    x : StateT<'S, ^Monad<'U*'S>>
    y : StateT<'S, ^Monad<'T*'S>>

Returns: StateT<'S, ^Monad<'U*'S>>
Modifiers: inline

Sequences two States left-to-right, discarding the value of the second argument.

x : StateT<'S, ^Monad<'U*'S>>
y : StateT<'S, ^Monad<'T*'S>>
Returns: StateT<'S, ^Monad<'U*'S>>

Monad

Static members

Static member Description

f >=> g

Full Usage: f >=> g

Parameters:
    f : 'T -> StateT<'S, ^Monad<'U*'S>>
    g : 'U -> StateT<'S, ^Monad<'V*'S>>

Returns: 'T -> StateT<'S, ^Monad<'V*'S>>
Modifiers: inline
Type parameters: ^Monad<'U * 'S>, ^Monad<'V * 'S>, 'U

Composes left-to-right two State functions (Kleisli composition).

f : 'T -> StateT<'S, ^Monad<'U*'S>>
g : 'U -> StateT<'S, ^Monad<'V*'S>>
Returns: 'T -> StateT<'S, ^Monad<'V*'S>>

Other module members

Union cases

Union case Description

StateT 's -> 'monad<'t*'s>

Full Usage: StateT 's -> 'monad<'t*'s>

Parameters:
    Item : 's -> 'monad<'t*'s>

Item : 's -> 'monad<'t*'s>

Static members

Static member Description

f <*> x

Full Usage: f <*> x

Parameters:
    f : StateT<'S, ^Monad<('T->'U)*'S>>
    x : StateT<'S, ^Monad<'T*'S>>

Returns: StateT<'S, ^Monad<'U*'S>>
Modifiers: inline
f : StateT<'S, ^Monad<('T->'U)*'S>>
x : StateT<'S, ^Monad<'T*'S>>
Returns: StateT<'S, ^Monad<'U*'S>>

arg0 <|> arg1

Full Usage: arg0 <|> arg1

Parameters:
    arg0 : StateT<'S, ^MonadPlus<'T*'S>>
    arg1 : StateT<'S, ^MonadPlus<'T*'S>>

Returns: StateT<'S, ^MonadPlus<'T*'S>>
Modifiers: inline
arg0 : StateT<'S, ^MonadPlus<'T*'S>>
arg1 : StateT<'S, ^MonadPlus<'T*'S>>
Returns: StateT<'S, ^MonadPlus<'T*'S>>

x >>= f

Full Usage: x >>= f

Parameters:
    x : StateT<'S, ^Monad<'T*'S>>
    f : 'T -> StateT<'S, ^Monad<'U*'S>>

Returns: StateT<'S, ^Monad<'U*'S>>
Modifiers: inline
Type parameters: ^Monad<'U * 'S>, 'T
x : StateT<'S, ^Monad<'T*'S>>
f : 'T -> StateT<'S, ^Monad<'U*'S>>
Returns: StateT<'S, ^Monad<'U*'S>>

StateT.Catch(m, h)

Full Usage: StateT.Catch(m, h)

Parameters:
    m : StateT<'S, ^MonadError<'E1,'T*'S>>
    h : 'E1 -> StateT<'S, ^MonadError<'E2,'T*'S>>

Returns: StateT<'S, ^MonadError<'E2,'T*'S>>
Modifiers: inline
Type parameters: ^MonadError<'E2, 'T * 'S>, 'E1
m : StateT<'S, ^MonadError<'E1,'T*'S>>
h : 'E1 -> StateT<'S, ^MonadError<'E2,'T*'S>>
Returns: StateT<'S, ^MonadError<'E2,'T*'S>>

StateT.Delay(body)

Full Usage: StateT.Delay(body)

Parameters:
    body : unit -> StateT<'S, ^Monad<'T*'S>>

Returns: StateT<'S, ^Monad<'T*'S>>
Modifiers: inline
body : unit -> StateT<'S, ^Monad<'T*'S>>
Returns: StateT<'S, ^Monad<'T*'S>>

StateT.Lift(m)

Full Usage: StateT.Lift(m)

Parameters:
    m : ^Monad<'T>

Returns: StateT<'S, ^Monad<'T*'S>>
Modifiers: inline
m : ^Monad<'T>
Returns: StateT<'S, ^Monad<'T*'S>>

StateT.Lift2(f, x, y)

Full Usage: StateT.Lift2(f, x, y)

Parameters:
    f : 'T -> 'U -> 'V
    x : StateT<'S, ^Monad<'T*'S>>
    y : StateT<'S, ^Monad<'U*'S>>

Returns: StateT<'S, ^Monad<'V*'S>>
Modifiers: inline
Type parameters: 'V, 'S, ^Monad<'T * 'S>, ^Monad<'V * 'S>, ^Monad<'U * 'S>
f : 'T -> 'U -> 'V
x : StateT<'S, ^Monad<'T*'S>>
y : StateT<'S, ^Monad<'U*'S>>
Returns: StateT<'S, ^Monad<'V*'S>>

StateT.Lift3(f, x, y, z)

Full Usage: StateT.Lift3(f, x, y, z)

Parameters:
    f : 'T -> 'U -> 'V -> 'W
    x : StateT<'S, ^Monad<'T*'S>>
    y : StateT<'S, ^Monad<'U*'S>>
    z : StateT<'S, ^Monad<'V*'S>>

Returns: StateT<'S, ^Monad<'W*'S>>
Modifiers: inline
f : 'T -> 'U -> 'V -> 'W
x : StateT<'S, ^Monad<'T*'S>>
y : StateT<'S, ^Monad<'U*'S>>
z : StateT<'S, ^Monad<'V*'S>>
Returns: StateT<'S, ^Monad<'W*'S>>

StateT.LiftAsync(x)

Full Usage: StateT.LiftAsync(x)

Parameters:
Returns: StateT<'S, ^MonadAsync<'T>>
Modifiers: inline
x : Async<'T>
Returns: StateT<'S, ^MonadAsync<'T>>

StateT.Local(arg1, f)

Full Usage: StateT.Local(arg1, f)

Parameters:
    arg0 : StateT<'S, ^a>
    f : 'R1 -> 'R2

Returns: StateT<'S, ^MonadReader<'R1,'T>>
Modifiers: inline
Type parameters: 'R1, 'R2, ^MonadReader<'R1, 'T>
arg0 : StateT<'S, ^a>
f : 'R1 -> 'R2
Returns: StateT<'S, ^MonadReader<'R1,'T>>

StateT.Map(x, f)

Full Usage: StateT.Map(x, f)

Parameters:
    x : StateT<'S, ^Monad<'T*'S>>
    f : 'T -> 'U

Returns: StateT<'S, ^Monad<'U*'S>>
Modifiers: inline
x : StateT<'S, ^Monad<'T*'S>>
f : 'T -> 'U
Returns: StateT<'S, ^Monad<'U*'S>>

StateT.Put(x)

Full Usage: StateT.Put(x)

Parameters:
    x : 'S

Returns: StateT<'S, ^Monad>
Modifiers: inline
x : 'S
Returns: StateT<'S, ^Monad>

StateT.Return(x)

Full Usage: StateT.Return(x)

Parameters:
    x : 'T

Returns: StateT<'S, ^Monad<'T*'S>>
Modifiers: inline
Type parameters: ^Monad<'T * 'S>
x : 'T
Returns: StateT<'S, ^Monad<'T*'S>>

StateT.Throw(x)

Full Usage: StateT.Throw(x)

Parameters:
    x : 'E

Returns: StateT<'a, ^b>
Modifiers: inline
x : 'E
Returns: StateT<'a, ^b>

StateT.TryFinally(computation, f)

Full Usage: StateT.TryFinally(computation, f)

Parameters:
    computation : StateT<'S, ^Monad<'T*'S>>
    f : unit -> unit

Returns: StateT<'S, ^Monad<'T*'S>>
Modifiers: inline
computation : StateT<'S, ^Monad<'T*'S>>
f : unit -> unit
Returns: StateT<'S, ^Monad<'T*'S>>

StateT.TryWith(source, f)

Full Usage: StateT.TryWith(source, f)

Parameters:
    source : StateT<'S, ^Monad<'T*'S>>
    f : exn -> StateT<'S, ^Monad<'T*'S>>

Returns: StateT<'S, ^Monad<'T*'S>>
Modifiers: inline
source : StateT<'S, ^Monad<'T*'S>>
f : exn -> StateT<'S, ^Monad<'T*'S>>
Returns: StateT<'S, ^Monad<'T*'S>>

StateT.Using(resource, f)

Full Usage: StateT.Using(resource, f)

Parameters:
    resource : 'a
    f : 'a -> StateT<'S, ^Monad<'T*'S>>

Returns: StateT<'S, ^Monad<'T*'S>>
Modifiers: inline
Type parameters: ^Monad<'T * 'S>
resource : 'a
f : 'a -> StateT<'S, ^Monad<'T*'S>>
Returns: StateT<'S, ^Monad<'T*'S>>

StateT.Zip(x, y)

Full Usage: StateT.Zip(x, y)

Parameters:
    x : StateT<'S, ^Monad<'T*'S>>
    y : StateT<'S, ^Monad<'U*'S>>

Returns: StateT<'S, ^e>
Modifiers: inline
x : StateT<'S, ^Monad<'T*'S>>
y : StateT<'S, ^Monad<'U*'S>>
Returns: StateT<'S, ^e>

StateT.get_Ask ()

Full Usage: StateT.get_Ask ()

Returns: StateT<'S, ^MonadReader<'R,'R>>
Modifiers: inline
Returns: StateT<'S, ^MonadReader<'R,'R>>

StateT.get_Empty ()

Full Usage: StateT.get_Empty ()

Returns: StateT<'S, ^MonadPlus<'T*'S>>
Modifiers: inline
Returns: StateT<'S, ^MonadPlus<'T*'S>>

StateT.get_Get ()

Full Usage: StateT.get_Get ()

Returns: StateT<'S, ^Monad<'S*'S>>
Modifiers: inline
Returns: StateT<'S, ^Monad<'S*'S>>