Module

# Control.Selective.ComposeI

- Package
- purescript-selective-functors
- Repository
- artemisSystem/purescript-selective-functors

### #ComposeI Source

`newtype ComposeI :: forall k1 k2. (k2 -> Type) -> (k1 -> k2) -> k1 -> Type`

`newtype ComposeI f g`

_{}a_{}

This newtype provides a `Select`

instance for `Compose`

.
It "lifts" the `Selective`

`g`

into the `Applicative`

`f`

. In other words,
it composes an outer `Applicative`

and an inner `Selective`

.

#### Constructors

`ComposeI (f (g a))`

#### Instances

`Newtype (ComposeI f g a) _`

`Generic (ComposeI f g a) _`

`(Show (f (g a))) => Show (ComposeI f g a)`

`(Eq1 f, Eq1 g, Eq a) => Eq (ComposeI f g a)`

`(Eq1 f, Eq1 g) => Eq1 (ComposeI f g)`

`(Ord1 f, Ord1 g, Ord a) => Ord (ComposeI f g a)`

`(Ord1 f, Ord1 g) => Ord1 (ComposeI f g)`

`(Functor f, Functor g) => Functor (ComposeI f g)`

`(Apply f, Apply g) => Apply (ComposeI f g)`

`(Applicative f, Applicative g) => Applicative (ComposeI f g)`

`(Alt f, Functor g) => Alt (ComposeI f g)`

`(Plus f, Functor g) => Plus (ComposeI f g)`

`(Alternative f, Applicative g) => Alternative (ComposeI f g)`

`(Apply f, Select g) => Select (ComposeI f g)`

`(Applicative f, Selective g) => Selective (ComposeI f g)`

- Modules
- Control.
Select - Control.
Selective - Control.
Selective. ComposeI - Control.
Selective. ComposeTM - Control.
Selective. ComposeTS - Control.
Selective. Free - Control.
Selective. Over - Control.
Selective. SelectA - Control.
Selective. SelectM - Control.
Selective. SelectTM - Control.
Selective. SelectTS - Control.
Selective. Under - Control.
Selective. Validation

"Lifts" the inner type's selective instance into the outer via

`lift2`

. The outer effect will always be executed.