HORIZON HASKELLDocslts/ghc-10.0.x77a86622026-10-31Search packagesCtrl K
Theme: |

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 77a8662 · 2026-10-31

datadata ConLike

A constructor-like thing

Instances7Eq, Data, NamedThing, Outputable, Uniquable, OutputableBndr, …

The "full signature" of the ConLike returns, in order:

1) The universally quantified type variables

2) The existentially quantified type/coercion variables

3) The equality specification

4) The provided theta (the constraints provided by a match)

5) The required theta (the constraints required for a match)

6) The original argument types (i.e. before any change of the representation of the type)

7) The original result type

Is this record field a naughty record field due to the presence of existential type variables?

Different from isNaughtyRecordSelector because the latter is also true in the presence of -XNoFieldSelectors.

See Note [Naughty record selectors] in GHC.Tc.TyCl.Utils.