HORIZON HASKELLDocslts/ghc-10.0.x8fef28d2026-11-02Search packagesCtrl K
Theme: |

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 8fef28d · 2026-11-02

Modulevinyl-0.14.3Haskell2010

Data.Vinyl.Derived

Commonly used Rec instantiations.

Contents
  1. Specializations for working with an ARec of named fields.
Synopsis
  • Packagevinyl-0.14.3
  • Exports32
  • LanguageHaskell2010
  • LicenceMIT
  • SourceDerived.hs
typetype (:::) (a :: k) (b :: k1) = '(a, b)

Alias for Field spec

value(=:) :: KnownSymbol l => Label l -> v -> ElField (l ::: v)

Operator for creating an ElField. With the -XOverloadedLabels extension, this permits usage such as, #foo =: 23 to produce a value of type ElField ("foo" ::: Int).

datadata SField (field :: k)

A proxy for field types.

Instances3Eq, Ord, Show
  • Eq (SField a)Defined in vinyl-0.14.3 · Data.Vinyl.Derived
  • Ord (SField a)Defined in vinyl-0.14.3 · Data.Vinyl.Derived
  • KnownSymbol s => Show (SField '(s, t))Defined in vinyl-0.14.3 · Data.Vinyl.Derived
typetype HasField (record :: ((k, k1) -> Type) -> [(k, k1)] -> Type) (l :: k) (fs :: [(k, k1)]) (fs' :: [(k, k1)]) (v :: k1) (v' :: k1) = (RecElem record (l ::: v) (l ::: v') fs fs' (RIndex (l ::: v) fs), FieldType l fs ~ v, FieldType l fs' ~ v')

Constraint that a label is associated with a particular type in a record.

datadata Label (a :: Symbol)

Proxy for label type

Instances3IsLabel, Eq, Show
  • s ~ s' => IsLabel s (Label s')Defined in vinyl-0.14.3 · Data.Vinyl.Derived
  • Eq (Label a)Defined in vinyl-0.14.3 · Data.Vinyl.Derived
  • Show (Label a)Defined in vinyl-0.14.3 · Data.Vinyl.Derived
familytype family Unlabeled (ts :: [(k, a)]) :: [a] where

Remove the first component (e.g. the label) from a type-level list of pairs.

Equations

classclass StripFieldNames (ts :: [(Symbol, Type)]) where

Facilities for removing and replacing the type-level label, or column name, part of a record.

Instances2StripFieldNames

Specializations for working with an ARec of named fields.