d8e3230bf46c8aa9a15a887ff56e9821bd98ace6
[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, TyBinder)
10
11 data DataCon
12 data DataConRep
13 data EqSpec
14 filterEqSpec :: [EqSpec] -> [TyBinder] -> [TyBinder]
15
16 dataConName      :: DataCon -> Name
17 dataConTyCon     :: DataCon -> TyCon
18 dataConUnivTyBinders :: DataCon -> [TyBinder]
19 dataConExTyVars  :: DataCon -> [TyVar]
20 dataConExTyBinders :: DataCon -> [TyBinder]
21 dataConSourceArity  :: DataCon -> Arity
22 dataConFieldLabels :: DataCon -> [FieldLabel]
23 dataConInstOrigArgTys  :: DataCon -> [Type] -> [Type]
24 dataConStupidTheta :: DataCon -> ThetaType
25 dataConFullSig :: DataCon
26                -> ([TyVar], [TyVar], [EqSpec], ThetaType, [Type], Type)
27
28 instance Eq DataCon
29 instance Ord DataCon
30 instance Uniquable DataCon
31 instance NamedThing DataCon
32 instance Outputable DataCon
33 instance OutputableBndr DataCon