derive-gadt-0.1.1: Instance deriving for (a subset of) GADTs.Source codeContentsIndex
Language.Haskell.Derive.Gadt.Common
Documentation
data GadtInfo Source
Constructors
GadtInfo
gadtName :: Name
gadtArity :: Int
gadtCons :: [GadtConInfo]
show/hide Instances
data GadtConInfo Source
Constructors
GadtConInfo
gadtConName :: Name
gadtConType :: Type
gadtConArgs :: [Type]
gadtConBound :: [Name]
gadtConFree :: [Name]
show/hide Instances
instanceGroups :: GadtInfo -> [(Type, [(Name, Int)])]Source
groupCons :: GadtInfo -> [(Name, [Name])]Source
unifiedGroups :: [GadtConInfo] -> [(Name, [(Name, (Substs, Substs))])]Source
isExistential :: GadtConInfo -> BoolSource
existentials :: GadtConInfo -> [Name]Source
gadtInfo :: Decl -> [GadtInfo]Source
gadtConInfo :: GadtDecl -> GadtConInfoSource
arityGadt :: [TyVarBind] -> Maybe Kind -> IntSource
parseModuleGadts :: String -> Either String [GadtInfo]Source
kindArity :: Kind -> IntSource
tvbName :: TyVarBind -> NameSource
unwindType :: Type -> (Type, [Type])Source
splitTypeApps :: Type -> (Type, [Type])Source
isTyVar :: Type -> BoolSource
getTopTyVars :: [Type] -> [(Name, Int)]Source
ftvs :: Type -> Set NameSource
isMono :: Type -> BoolSource
srcExtsTypeToUnifyType :: Type -> TypeSource
myParseType :: String -> TypeSource
nameToUName :: Name -> NameSource
qnameToUName :: QName -> NameSource
myParseModule :: String -> Either String ModuleSource
myParseMode :: ParseModeSource
myExtensions :: [Extension]Source
mkFunD :: Name -> [Pat] -> Exp -> DecSource
mkClauseQ :: [PatQ] -> ExpQ -> ClauseQSource
Produced by Haddock version 2.4.2