ghc-8.2.2: The GHC API

Safe Haskell | None
Language | Haskell2010

TcGenDeriv

# Documentation

type BagDerivStuff = Bag DerivStuff #

data DerivStuff #

Constructors

DerivAuxBind AuxBindSpec |
DerivFamInst FamInst |
DerivHsBind (LHsBind RdrName, LSig RdrName) |

gen_Eq_binds :: SrcSpan -> TyCon -> TcM (LHsBinds RdrName, BagDerivStuff) #

gen_Ord_binds :: SrcSpan -> TyCon -> TcM (LHsBinds RdrName, BagDerivStuff) #

gen_Enum_binds :: SrcSpan -> TyCon -> TcM (LHsBinds RdrName, BagDerivStuff) #

gen_Bounded_binds :: SrcSpan -> TyCon -> (LHsBinds RdrName, BagDerivStuff) #

gen_Ix_binds :: SrcSpan -> TyCon -> TcM (LHsBinds RdrName, BagDerivStuff) #

gen_Show_binds :: (Name -> Fixity) -> SrcSpan -> TyCon -> (LHsBinds RdrName, BagDerivStuff) #

gen_Read_binds :: (Name -> Fixity) -> SrcSpan -> TyCon -> (LHsBinds RdrName, BagDerivStuff) #

gen_Data_binds :: SrcSpan -> TyCon -> TcM (LHsBinds RdrName, BagDerivStuff) #

gen_Lift_binds :: SrcSpan -> TyCon -> (LHsBinds RdrName, BagDerivStuff) #

gen_Newtype_binds :: SrcSpan -> Class -> [TyVar] -> [Type] -> Type -> TcM (LHsBinds RdrName, BagDerivStuff) #

mkCoerceClassMethEqn :: Class -> [TyVar] -> [Type] -> Type -> Id -> Pair Type #

genAuxBinds :: DynFlags -> SrcSpan -> BagDerivStuff -> SeparateBagsDerivStuff #

ordOpTbl :: [(Type, (RdrName, RdrName, RdrName, RdrName, RdrName))] #

boxConTbl :: [(Type, RdrName)] #

litConTbl :: [(Type, LHsExpr RdrName -> LHsExpr RdrName)] #

mkRdrFunBind :: Located RdrName -> [LMatch RdrName (LHsExpr RdrName)] -> LHsBind RdrName #

error_Expr :: String -> LHsExpr RdrName #