d60977452be929ce168532a1390f2ab28c702823
[ghc.git] / compiler / basicTypes / DataCon.hs-boot
1 module DataCon where
2 import Var( TyVar )
3 import Name( Name, NamedThing )
4 import {-# SOURCE #-} TyCon( TyCon )
5 import FieldLabel ( FieldLabel )
6 import Unique ( Uniquable )
7 import Outputable ( Outputable, OutputableBndr )
8 import BasicTypes (Arity)
9 import {-# SOURCE #-} TyCoRep (Type, ThetaType)
10
11 data DataCon
12 data DataConRep
13 data EqSpec
14 eqSpecTyVar :: EqSpec -> TyVar
15
16 dataConName      :: DataCon -> Name
17 dataConTyCon     :: DataCon -> TyCon
18 dataConExTyVars  :: DataCon -> [TyVar]
19 dataConSourceArity  :: DataCon -> Arity
20 dataConFieldLabels :: DataCon -> [FieldLabel]
21 dataConInstOrigArgTys  :: DataCon -> [Type] -> [Type]
22 dataConStupidTheta :: DataCon -> ThetaType
23 dataConFullSig :: DataCon
24                -> ([TyVar], [TyVar], [EqSpec], ThetaType, [Type], Type)
25
26 instance Eq DataCon
27 instance Ord DataCon
28 instance Uniquable DataCon
29 instance NamedThing DataCon
30 instance Outputable DataCon
31 instance OutputableBndr DataCon