ghc-7.6.3: The GHC API

Safe Haskell | None

TcGenDeriv

# Documentation

type BagDerivStuff = Bag DerivStuff

data DerivStuff

Constructors

DerivAuxBind AuxBindSpec |
DerivTyCon TyCon |
DerivFamInst FamInst |
DerivHsBind (LHsBind RdrName, LSig RdrName) |
DerivInst (InstInfo RdrName) |

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

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

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

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

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

gen_Read_binds :: FixityEnv -> SrcSpan -> TyCon -> (LHsBinds RdrName, BagDerivStuff)

gen_Show_binds :: FixityEnv -> SrcSpan -> TyCon -> (LHsBinds RdrName, BagDerivStuff)

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

gen_Typeable_binds :: SrcSpan -> TyCon -> LHsBinds RdrName

gen_Functor_binds :: SrcSpan -> TyCon -> (LHsBinds RdrName, BagDerivStuff)

data FFoldType a

Constructors

FT |

Fields

ft_triv :: a
ft_var :: a
ft_co_var :: a
ft_fun :: a -> a -> a
ft_tup :: TupleSort -> [a] -> a
ft_ty_app :: Type -> a -> a
ft_bad_app :: a
ft_forall :: TcTyVar -> a -> a

functorLikeTraverse

Arguments

:: forall a . |
=> TyVar | Variable to look for
-> FFoldType a | How to fold
-> Type | Type to process
-> a |

deepSubtypesContaining :: TyVar -> Type -> [TcType]

foldDataConArgs :: FFoldType a -> DataCon -> [a]

gen_Foldable_binds :: SrcSpan -> TyCon -> (LHsBinds RdrName, BagDerivStuff)

gen_Traversable_binds :: SrcSpan -> TyCon -> (LHsBinds RdrName, BagDerivStuff)

genAuxBinds :: SrcSpan -> BagDerivStuff -> SeparateBagsDerivStuff

ordOpTbl :: [(Type, (PrimOp, PrimOp, PrimOp, PrimOp, PrimOp))]

boxConTbl :: [(Type, RdrName)]