HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Modulevinyl-0.14.3Haskell2010

Data.Vinyl.TypeLevel

  • 1 type
  • 4 classes
  • Packagevinyl-0.14.3
  • Exports17
  • LanguageHaskell2010
  • LicenceMIT
  • SourceTypeLevel.hs
datadata Nat
#

A mere approximation of the natural numbers. And their image as lifted by -XDataKinds corresponds to the actual natural numbers.

Constructors

Instances4RecSubset, IndexWitnesses
familytype family Fst (a :: (k1, k2)) :: k1 where
#

Project the first component of a type-level tuple.

Equations

  • Fst '(x, y) = x
familytype family Snd (a :: (k1, k2)) :: k2 where
#

Project the second component of a type-level tuple.

Equations

  • Snd '(x, y) = y
familytype family RIndex (r :: k) (rs :: [k]) :: Nat where
#

A partial relation that gives the index of a value in a list.

Equations

familytype family RImage (rs :: [k]) (ss :: [k]) :: [Nat] where
#

A partial relation that gives the indices of a sublist in a larger list.

Equations

familytype family RDelete (r :: a) (rs :: [a]) :: [a] where
#

Remove the first occurrence of a type from a type-level list.

Equations

familytype family (++) (as :: [k]) (bs :: [k]) :: [k] where
#

Append for type-level lists.

Equations

  • (++) '[] bs = bs
  • (++) (a ': as) bs = a ': as ++ bs
classclass AllSatisfied (cs :: k) (t :: k1)
#

Constraint that each Constraint in a type-level list is satisfied by a particular type.

Instances2AllSatisfied
familytype family AllAllSat (cs :: k) (ts :: [k1]) :: Constraint where
#

Constraint that all types in a type-level list satisfy each constraint from a list of constraints.

AllAllSat cs ts should be equivalent to AllConstrained (AllSatisfied cs) ts if partial application of type families were legal.

Equations

familytype family ApplyToField (t :: Type -> Type) (a :: k1) :: k1 where
#

Apply a type constructor to a record index. Record indexes are either Type or (Symbol, Type). In the latter case, the type constructor is applied to the second component of the tuple.

Equations

classclass Coercible (f x) (g x) => Similar (f :: k1 -> k) (g :: k1 -> k) (x :: k1)
#

This class is used for consMatchCoercion with older versions of GHC.

Instances1Similar
  • Coercible (f x) (g x) => Similar f g xDefined in vinyl-0.14.3 · Data.Vinyl.TypeLevel