FSharpPlus


Compose<'functorF<'functorG<'t>>> Type

Right-to-left composition of functors. The composition of applicative functors is always applicative, but the composition of monads is not always a monad.

Table of contents

Functor

Static members

Static member Description

f <!> x

Full Usage: f <!> x

Parameters:
    f : 'T -> 'U
    x : ^FunctorF<'FunctorG<'T>>

Returns: Compose<^FunctorF<'FunctorG<'U>>>
Modifiers: inline
Type parameters: 'U, ^FunctorF<'FunctorG<'T>>, ^FunctorF<'FunctorG<'U>>, ^FunctorG<'T>, ^FunctorG<'U>

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

f : 'T -> 'U
x : ^FunctorF<'FunctorG<'T>>
Returns: Compose<^FunctorF<'FunctorG<'U>>>

Applicative

Static members

Static member Description

x *> y

Full Usage: x *> y

Parameters:
    x : ^FunctorF<'FunctorG<'T>>
    y : ^FunctorF<'FunctorG<'U>>

Returns: ^FunctorF<'FunctorG<'U>>
Modifiers: inline
Type parameters: ^FunctorF<'FunctorG<'U -> 'U>>, ^FunctorF<'FunctorG<'U>>, 'T, 'U

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

x : ^FunctorF<'FunctorG<'T>>
y : ^FunctorF<'FunctorG<'U>>
Returns: ^FunctorF<'FunctorG<'U>>

x <* y

Full Usage: x <* y

Parameters:
    x : ^FunctorF<'FunctorG<'U>>
    y : ^FunctorF<'FunctorG<'T>>

Returns: ^FunctorF<'FunctorG<'U>>
Modifiers: inline
Type parameters: ^FunctorF<'FunctorG<'T -> 'U>>, ^FunctorF<'FunctorG<'T>>, 'U, 'T

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

x : ^FunctorF<'FunctorG<'U>>
y : ^FunctorF<'FunctorG<'T>>
Returns: ^FunctorF<'FunctorG<'U>>

Other module members

Union cases

Union case Description

Compose 'functorF<'functorG<'t>>

Full Usage: Compose 'functorF<'functorG<'t>>

Parameters:
    Item : 'functorF<'functorG<'t>>

Item : 'functorF<'functorG<'t>>

Static members

Static member Description

arg0 <*> arg1

Full Usage: arg0 <*> arg1

Parameters:
    arg0 : Compose<^ApplicativeF<'ApplicativeG<'T->'U>>
    arg1 : Compose<^ApplicativeF<'ApplicativeG<'T>>

Returns: Compose<^ApplicativeF<'ApplicativeG<'U>>
Modifiers: inline
Type parameters: ^ApplicativeF<'ApplicativeG<'T> -> 'ApplicativeG<'U>, ^ApplicativeF<'ApplicativeG<'T>, ^ApplicativeF<'ApplicativeG<'U>, ^ApplicativeG<'T -> 'U>, ^ApplicativeG<'T>, ^ApplicativeG<'U>
arg0 : Compose<^ApplicativeF<'ApplicativeG<'T->'U>>
arg1 : Compose<^ApplicativeF<'ApplicativeG<'T>>
Returns: Compose<^ApplicativeF<'ApplicativeG<'U>>

arg0 <.> arg1

Full Usage: arg0 <.> arg1

Parameters:
    arg0 : Compose<^ApplicativeF<'ApplicativeG<'T->'U>>
    arg1 : Compose<^ApplicativeF<'ApplicativeG<'T>>

Returns: Compose<^ApplicativeF<'ApplicativeG<'U>>
Modifiers: inline
Type parameters: ^ApplicativeF<'ApplicativeG<'T> -> 'ApplicativeG<'U>, ^ApplicativeF<'ApplicativeG<'T>, ^ApplicativeF<'ApplicativeG<'U>, ^ApplicativeG<'T -> 'U>, ^ApplicativeG<'T>, ^ApplicativeG<'U>
arg0 : Compose<^ApplicativeF<'ApplicativeG<'T->'U>>
arg1 : Compose<^ApplicativeF<'ApplicativeG<'T>>
Returns: Compose<^ApplicativeF<'ApplicativeG<'U>>

arg0 <|> arg1

Full Usage: arg0 <|> arg1

Parameters:
    arg0 : Compose<^AlternativeF<'ApplicativeG<'T>>
    arg1 : Compose<^AlternativeF<'ApplicativeG<'T>>

Returns: Compose<^AlternativeF<'ApplicativeG<'T>>
Modifiers: inline
arg0 : Compose<^AlternativeF<'ApplicativeG<'T>>
arg1 : Compose<^AlternativeF<'ApplicativeG<'T>>
Returns: Compose<^AlternativeF<'ApplicativeG<'T>>

Compose.Lift2(f, arg2, arg3)

Full Usage: Compose.Lift2(f, arg2, arg3)

Parameters:
    f : 'T -> 'U -> 'V
    arg1 : Compose<^ApplicativeF<'ApplicativeG<'T>>
    arg2 : Compose<^ApplicativeF<'ApplicativeG<'U>>

Returns: Compose<^ApplicativeF<'ApplicativeG<'V>>
Modifiers: inline
Type parameters: 'U, 'V, ^ApplicativeF<'ApplicativeG<'T>, ^ApplicativeF<'ApplicativeG<'U>, ^ApplicativeF<'ApplicativeG<'V>, ^ApplicativeG<'T>, ^ApplicativeG<'U>, ^ApplicativeG<'V>
f : 'T -> 'U -> 'V
arg1 : Compose<^ApplicativeF<'ApplicativeG<'T>>
arg2 : Compose<^ApplicativeF<'ApplicativeG<'U>>
Returns: Compose<^ApplicativeF<'ApplicativeG<'V>>

Compose.Lift3(f, arg2, arg3, arg4)

Full Usage: Compose.Lift3(f, arg2, arg3, arg4)

Parameters:
    f : 'T -> 'U -> 'V -> 'W
    arg1 : Compose<^ApplicativeF<'ApplicativeG<'T>>
    arg2 : Compose<^ApplicativeF<'ApplicativeG<'U>>
    arg3 : Compose<^ApplicativeF<'ApplicativeG<'V>>

Returns: Compose<^ApplicativeF<'ApplicativeG<'W>>
Modifiers: inline
Type parameters: 'U, 'V, 'W, ^ApplicativeF<'ApplicativeG<'T>, ^ApplicativeF<'ApplicativeG<'U>, ^ApplicativeF<'ApplicativeG<'V>, ^ApplicativeF<'ApplicativeG<'W>, ^ApplicativeG<'T>, ^ApplicativeG<'U>, ^ApplicativeG<'V>, ^ApplicativeG<'W>
f : 'T -> 'U -> 'V -> 'W
arg1 : Compose<^ApplicativeF<'ApplicativeG<'T>>
arg2 : Compose<^ApplicativeF<'ApplicativeG<'U>>
arg3 : Compose<^ApplicativeF<'ApplicativeG<'V>>
Returns: Compose<^ApplicativeF<'ApplicativeG<'W>>

Compose.Map(arg1, f)

Full Usage: Compose.Map(arg1, f)

Parameters:
    arg0 : Compose<^FunctorF<'FunctorG<'T>>>
    f : 'T -> 'U

Returns: Compose<^FunctorF<'FunctorG<'U>>>
Modifiers: inline
Type parameters: ^FunctorF<'FunctorG<'U>>, ^FunctorG<'T>, ^FunctorG<'U>, 'T, 'U
arg0 : Compose<^FunctorF<'FunctorG<'T>>>
f : 'T -> 'U
Returns: Compose<^FunctorF<'FunctorG<'U>>>

Compose.Map2(f, arg2, arg3)

Full Usage: Compose.Map2(f, arg2, arg3)

Parameters:
    f : 'T -> 'U -> 'V
    arg1 : Compose<^ApplicativeF<'ApplicativeG<'T>>
    arg2 : Compose<^ApplicativeF<'ApplicativeG<'U>>

Returns: Compose<^ApplicativeF<'ApplicativeG<'V>>
Modifiers: inline
Type parameters: 'U, 'V, ^ApplicativeF<'ApplicativeG<'T>, ^ApplicativeF<'ApplicativeG<'U>, ^ApplicativeF<'ApplicativeG<'V>, ^ApplicativeG<'T>, ^ApplicativeG<'U>, ^ApplicativeG<'V>
f : 'T -> 'U -> 'V
arg1 : Compose<^ApplicativeF<'ApplicativeG<'T>>
arg2 : Compose<^ApplicativeF<'ApplicativeG<'U>>
Returns: Compose<^ApplicativeF<'ApplicativeG<'V>>

Compose.Map3(f, arg2, arg3, arg4)

Full Usage: Compose.Map3(f, arg2, arg3, arg4)

Parameters:
    f : 'T -> 'U -> 'V -> 'W
    arg1 : Compose<^ApplicativeF<'ApplicativeG<'T>>
    arg2 : Compose<^ApplicativeF<'ApplicativeG<'U>>
    arg3 : Compose<^ApplicativeF<'ApplicativeG<'V>>

Returns: Compose<^ApplicativeF<'ApplicativeG<'W>>
Modifiers: inline
Type parameters: 'U, 'V, 'W, ^ApplicativeF<'ApplicativeG<'T>, ^ApplicativeF<'ApplicativeG<'U>, ^ApplicativeF<'ApplicativeG<'V>, ^ApplicativeF<'ApplicativeG<'W>, ^ApplicativeG<'T>, ^ApplicativeG<'U>, ^ApplicativeG<'V>, ^ApplicativeG<'W>
f : 'T -> 'U -> 'V -> 'W
arg1 : Compose<^ApplicativeF<'ApplicativeG<'T>>
arg2 : Compose<^ApplicativeF<'ApplicativeG<'U>>
arg3 : Compose<^ApplicativeF<'ApplicativeG<'V>>
Returns: Compose<^ApplicativeF<'ApplicativeG<'W>>

Compose.Return(x)

Full Usage: Compose.Return(x)

Parameters:
    x : 'T

Returns: Compose<^ApplicativeF<'ApplicativeG<'T>>
Modifiers: inline
Type parameters: ^ApplicativeF<'ApplicativeG<'T>, ^ApplicativeG<'T>
x : 'T
Returns: Compose<^ApplicativeF<'ApplicativeG<'T>>

Compose.get_Empty ()

Full Usage: Compose.get_Empty ()

Returns: Compose<^AlternativeF<'ApplicativeG<'T>>
Modifiers: inline
Returns: Compose<^AlternativeF<'ApplicativeG<'T>>