haddock-2.7.0: A documentation-generation tool for Haskell librariesSource codeContentsIndex
Haddock.Convert
Portabilityportable
Stabilityexperimental
Maintainerhaddock@projects.haskell.org
Description
Conversion between TyThing and HsDecl. This functionality may be moved into GHC at some point.
Documentation
tyThingToLHsDecl :: TyThing -> LHsDecl NameSource
synifyClassAT :: TyCon -> LTyClDecl NameSource
synifyTyCon :: TyCon -> TyClDecl NameSource
synifyDataCon :: Bool -> DataCon -> LConDecl NameSource
synifyName :: NamedThing n => n -> Located NameSource
synifyIdSig :: SynifyTypeState -> Id -> Sig NameSource
synifyCtx :: [PredType] -> LHsContext NameSource
synifyPred :: PredType -> LHsPred NameSource
synifyTyVars :: [TyVar] -> [LHsTyVarBndr Name]Source
data SynifyTypeState Source
Constructors
WithinTypenormal situation. This is the safe one to use if you don't quite understand what's going on.
ImplicitizeForAllbeginning of a function definition, in which, to make it look less ugly, those rank-1 foralls are made implicit.
DeleteTopLevelQuantificationbecause in class methods the context is added to the type (e.g. adding forall a. Num a => to (+) :: a -> a -> a) which is rather sensible, but we want to restore things to the source-syntax situation where the defining class gets to quantify all its functions for free!
synifyType :: SynifyTypeState -> Type -> LHsType NameSource
synifyInstHead :: ([TyVar], [PredType], Class, [Type]) -> ([HsPred Name], Name, [HsType Name])Source
Produced by Haddock version 2.6.0