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

Modulerecord-hasfield-1.0.1Haskell2010

GHC.Records.Compat

This module provides a version of GHC.Records as it will be after the implementation of GHC proposal #42.

In future GHC versions it will be an alias for GHC.Records.

  • 1 class
  • 2 values
classclass HasField (x :: k) r a | x r -> a where
#

Constraint representing the fact that the field x can be get and set on the record type r and has field type a. This constraint will be solved automatically, but manual instances may be provided as well.

The function should satisfy the invariant:

uncurry ($) (hasField @x r) == r

Methods

  • hasField :: r -> (a -> r, a)

    Function to get and set a field in a record.

Instances19HasField, …
  • HasField '() a aDefined in record-hasfield-1.0.1 · GHC.Records.Extra · orphan
  • HasField "_1" (a, b) aDefined in record-hasfield-1.0.1 · GHC.Records.Extra · orphan
  • HasField "_2" (a, b) bDefined in record-hasfield-1.0.1 · GHC.Records.Extra · orphan
  • HasField "_1" (a, b, c) aDefined in record-hasfield-1.0.1 · GHC.Records.Extra · orphan
  • HasField "_2" (a, b, c) bDefined in record-hasfield-1.0.1 · GHC.Records.Extra · orphan
  • HasField "_3" (a, b, c) cDefined in record-hasfield-1.0.1 · GHC.Records.Extra · orphan
  • HasField "_1" (a, b, c, d) aDefined in record-hasfield-1.0.1 · GHC.Records.Extra · orphan
  • HasField "_2" (a, b, c, d) bDefined in record-hasfield-1.0.1 · GHC.Records.Extra · orphan
  • HasField "_3" (a, b, c, d) cDefined in record-hasfield-1.0.1 · GHC.Records.Extra · orphan
  • HasField "_4" (a, b, c, d) dDefined in record-hasfield-1.0.1 · GHC.Records.Extra · orphan
  • HasField "_1" (a, b, c, d, e) aDefined in record-hasfield-1.0.1 · GHC.Records.Extra · orphan
  • HasField "_2" (a, b, c, d, e) bDefined in record-hasfield-1.0.1 · GHC.Records.Extra · orphan
  • HasField "_3" (a, b, c, d, e) cDefined in record-hasfield-1.0.1 · GHC.Records.Extra · orphan
  • HasField "_4" (a, b, c, d, e) dDefined in record-hasfield-1.0.1 · GHC.Records.Extra · orphan
  • HasField "_5" (a, b, c, d, e) eDefined in record-hasfield-1.0.1 · GHC.Records.Extra · orphan
  • (a1 ~ r2, HasField x1 r1 a1, HasField x2 r2 a2) => HasField '(x1, x2) r1 a2Defined in record-hasfield-1.0.1 · GHC.Records.Extra · orphan
  • (a1 ~ r2, a2 ~ r3, HasField x1 r1 a1, HasField x2 r2 a2, HasField x3 r3 a3) => HasField '(x1, x2, x3) r1 a3Defined in record-hasfield-1.0.1 · GHC.Records.Extra · orphan
  • (a1 ~ r2, a2 ~ r3, a3 ~ r4, HasField x1 r1 a1, HasField x2 r2 a2, HasField x3 r3 a3, HasField x4 r4 a4) => HasField '(x1, x2, x3, x4) r1 a4Defined in record-hasfield-1.0.1 · GHC.Records.Extra · orphan
  • (a1 ~ r2, a2 ~ r3, a3 ~ r4, a4 ~ r5, HasField x1 r1 a1, HasField x2 r2 a2, HasField x3 r3 a3, HasField x4 r4 a4, HasField x5 r5 a5) => HasField '(x1, x2, x3, x4, x5) r1 a5Defined in record-hasfield-1.0.1 · GHC.Records.Extra · orphan