Note [Data Constructors]
see also: Note [Data Constructor Naming] in GHC.Core.DataCon $real_vs_source_data_constructors There are two forms of data constructor: [Source data constructors] The data constructors mentioned in Haskell source code [Real data constructors] The data constructors of the representation type, which may not be the same as the source type For example: > data T = T !(Int, Int) The source datacon has type @(Int, Int) -> T@ The real datacon has type @Int -> Int -> T@ GHC chooses a representation based on the strictness etc.
References 1
- Data Constructor Naming GHC.Core.DataCon
Referenced by 0
Nothing in the tree points here.