HORIZON HASKELLDocslts/ghc-9.14.xd82dee82026-10-12Search names, modules, packages, or :: a typeCtrl K

GHC 9.14.1 · lts/ghc-9.14.x · d82dee8 · 2026-10-12

Modulestrict-sop-core-0.1.4.0Haskell2010

Data.SOP.Strict.NP

Strict variant of NP

See sop-core's NP.

  • 1 type
  • 14 values

NP

6 declarations
datadata NP (f :: k -> Type) (xs :: [k]) where
#

Constructors

  • Nil :: NP f '[]
  • (:*) :: !f x -> !NP f xs1 -> NP f (x ': xs1)infixr 5
Instances16HTrans, HAp, HCollapse, HPure, HSequence, HTraverse_, …
  • HTrans NP NPDefined in strict-sop-core-0.1.4.0 · Data.SOP.Strict.NP
  • HAp NPDefined in strict-sop-core-0.1.4.0 · Data.SOP.Strict.NP
  • HCollapse NPDefined in strict-sop-core-0.1.4.0 · Data.SOP.Strict.NP
  • HPure NPDefined in strict-sop-core-0.1.4.0 · Data.SOP.Strict.NP
  • HSequence NPDefined in strict-sop-core-0.1.4.0 · Data.SOP.Strict.NP
  • HTraverse_ NPDefined in strict-sop-core-0.1.4.0 · Data.SOP.Strict.NP
  • All (Compose Eq f) xs => Eq (NP f xs)Defined in strict-sop-core-0.1.4.0 · Data.SOP.Strict.NP
  • (All (Compose Eq f) xs, All (Compose Ord f) xs) => Ord (NP f xs)Defined in strict-sop-core-0.1.4.0 · Data.SOP.Strict.NP
  • All (Compose Show f) xs => Show (NP f xs)Defined in strict-sop-core-0.1.4.0 · Data.SOP.Strict.NP

    Copied from sop-core

    Not derived, since derived instance ignores associativity info

  • All (Compose NoThunks f) xs => NoThunks (NP f xs)Defined in strict-sop-core-0.1.4.0 · Data.SOP.Strict.NP
  • type CollapseTo NP a = [a]Defined in strict-sop-core-0.1.4.0 · Data.SOP.Strict.NP
  • type Prod NP = NPDefined in strict-sop-core-0.1.4.0 · Data.SOP.Strict.NP
  • type AllN NP c = All cDefined in strict-sop-core-0.1.4.0 · Data.SOP.Strict.NP
  • type AllZipN NP c = AllZip cDefined in strict-sop-core-0.1.4.0 · Data.SOP.Strict.NP
  • type Same NP = NPDefined in strict-sop-core-0.1.4.0 · Data.SOP.Strict.NP
  • type SListIN NP = SListIDefined in strict-sop-core-0.1.4.0 · Data.SOP.Strict.NP
valuehd :: NP f (x ': xs) -> f x
#
valuemap_NP' :: (forall (a :: k). f a -> g a) -> NP f xs -> NP g xs
#

Version of map_NP that does not require a singleton

valuetl :: NP f (x ': xs) -> NP f xs
#

Specialized functions

9 declarations
valuecpure_NP :: All c xs => proxy c -> (forall (a :: k). c a => f a) -> NP f xs
#
valuetrans_NP
  1. :: AllZip c xs ys
  2. => proxy c
  3. -> forall (x :: k1) (y :: k2). c x y => f x -> g y
  4. -> NP f xs
  5. -> NP g ys
#