DataCon.hs-boot 918 Bytes
Newer Older
1
module DataCon where
2
import Var( TyVar )
cactus's avatar
cactus committed
3
import Name( Name, NamedThing )
Adam Gundry's avatar
Adam Gundry committed
4 5
import {-# SOURCE #-} TyCon( TyCon )
import FieldLabel ( FieldLabel )
cactus's avatar
cactus committed
6 7
import Unique ( Uniquable )
import Outputable ( Outputable, OutputableBndr )
8
import BasicTypes (Arity)
9
import {-# SOURCE #-} TyCoRep (Type, ThetaType)
10 11

data DataCon
12
data DataConRep
13 14 15
data EqSpec
eqSpecTyVar :: EqSpec -> TyVar

16
dataConName      :: DataCon -> Name
17
dataConTyCon     :: DataCon -> TyCon
18
dataConExTyVars  :: DataCon -> [TyVar]
19 20 21 22
dataConSourceArity  :: DataCon -> Arity
dataConFieldLabels :: DataCon -> [FieldLabel]
dataConInstOrigArgTys  :: DataCon -> [Type] -> [Type]
dataConStupidTheta :: DataCon -> ThetaType
23
dataConFullSig :: DataCon
24
               -> ([TyVar], [TyVar], [EqSpec], ThetaType, [Type], Type)
cactus's avatar
cactus committed
25

26 27
instance Eq DataCon
instance Ord DataCon
cactus's avatar
cactus committed
28 29 30 31
instance Uniquable DataCon
instance NamedThing DataCon
instance Outputable DataCon
instance OutputableBndr DataCon