TcGenDeriv

ghc-8.2.1: The GHC API

Safe Haskell | None
Language | Haskell2010

TcGenDeriv

# Documentation

type BagDerivStuff = Bag DerivStuff Source #

data DerivStuff Source #

Constructors

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

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

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

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

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

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

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

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

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

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

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

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

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

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

boxConTbl :: [(Type, RdrName)] Source #

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

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

error_Expr :: String -> LHsExpr RdrName Source #