Refactor default methods (Trac #11105)
[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 #-} TypeRep (Type, ThetaType)
10
11 data DataCon
12 data DataConRep
13 dataConName      :: DataCon -> Name
14 dataConTyCon     :: DataCon -> TyCon
15 dataConExTyVars  :: DataCon -> [TyVar]
16 dataConSourceArity  :: DataCon -> Arity
17 dataConFieldLabels :: DataCon -> [FieldLabel]
18 dataConInstOrigArgTys  :: DataCon -> [Type] -> [Type]
19 dataConStupidTheta :: DataCon -> ThetaType
20 dataConFullSig :: DataCon
21                -> ([TyVar], [TyVar], [(TyVar,Type)], ThetaType, [Type], Type)
22
23 instance Eq DataCon
24 instance Ord DataCon
25 instance Uniquable DataCon
26 instance NamedThing DataCon
27 instance Outputable DataCon
28 instance OutputableBndr DataCon