Safe Haskell | Safe-Inferred |
---|---|

Language | Haskell2010 |

Strict variant of NS

See `sop-core`

's
NS.

## Synopsis

- data NS f xs where
- index_NS ∷ ∀ f xs. NS f xs → Int
- partition_NS ∷ ∀ xs f. SListI xs ⇒ [NS f xs] → NP (List :.: f) xs
- sequence_NS' ∷ ∀ xs f g. Functor f ⇒ NS (f :.: g) xs → f (NS g xs)
- unZ ∷ NS f '[x] → f x
- type Injection (f ∷ k → Type) (xs ∷ [k]) = f -.-> K (NS f xs)
- injections ∷ ∀ xs f. SListI xs ⇒ NP (Injection f xs) xs

# NS

#### Instances

HTrans (NS ∷ (k1 → Type) → [k1] → Type) (NS ∷ (k2 → Type) → [k2] → Type) Source # | |

Defined in Data.SOP.Strict.NS | |

HAp (NS ∷ (k → Type) → [k] → Type) Source # | |

HCollapse (NS ∷ (k → Type) → [k] → Type) Source # | |

Defined in Data.SOP.Strict.NS | |

HExpand (NS ∷ (k → Type) → [k] → Type) Source # | |

HSequence (NS ∷ (k → Type) → [k] → Type) Source # | |

Defined in Data.SOP.Strict.NS hsequence' ∷ ∀ (xs ∷ l) f (g ∷ k0 → Type). (SListIN NS xs, Applicative f) ⇒ NS (f :.: g) xs → f (NS g xs) Source # hctraverse' ∷ ∀ c (xs ∷ l) g proxy f f'. (AllN NS c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a → g (f' a)) → NS f xs → g (NS f' xs) Source # htraverse' ∷ ∀ (xs ∷ l) g f f'. (SListIN NS xs, Applicative g) ⇒ (∀ (a ∷ k0). f a → g (f' a)) → NS f xs → g (NS f' xs) Source # | |

All (Compose Show f) xs ⇒ Show (NS f xs) Source # | |

All (Compose Eq f) xs ⇒ Eq (NS f xs) Source # | |

(All (Compose Eq f) xs, All (Compose Ord f) xs) ⇒ Ord (NS f xs) Source # | |

All (Compose NoThunks f) xs ⇒ NoThunks (NS f xs) Source # | |

type Same (NS ∷ (k1 → Type) → [k1] → Type) Source # | |

type Prod (NS ∷ (k → Type) → [k] → Type) Source # | |

type SListIN (NS ∷ (k → Type) → [k] → Type) Source # | |

Defined in Data.SOP.Strict.NS | |

type CollapseTo (NS ∷ (k → Type) → [k] → Type) a Source # | |

Defined in Data.SOP.Strict.NS | |

type AllN (NS ∷ (k → Type) → [k] → Type) (c ∷ k → Constraint) Source # | |

Defined in Data.SOP.Strict.NS |

sequence_NS' ∷ ∀ xs f g. Functor f ⇒ NS (f :.: g) xs → f (NS g xs) Source #

Version of `sequence_NS`

that requires only `Functor`

The version in the library requires `Applicative`

, which is unnecessary.