Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data ConView = SimpleCon {}
- isRecursive :: Name -> Type -> Bool
- varNames :: [Name]
- paramNames :: [TyVarBndr] -> [Name]
- applyTo :: TypeQ -> [TypeQ] -> TypeQ
- fixAppl :: Exp -> Exp
- headOf :: Type -> Name
- isPrim :: Info -> Bool
- simpleConView :: Name -> Con -> ConView
- getTy :: Type -> Type
- isVarT :: Type -> Bool
- isUnit :: Type -> Bool
- findLeafTypes :: Type -> [Type]
- type StQ s a = StateT s Q a
- type Names = [Name]
- member :: Name -> StQ (Map Name Names) Bool
- addDep :: Name -> Names -> StQ (Map Name Names) ()
- headOfNoVar :: Type -> [Name]
- getDeps :: Name -> (Name -> Q Bool) -> StQ (Map Name Names) ()
- tocheck :: [TyVarBndr] -> Name -> Type
- hasArbIns :: Name -> Bool
- doPreq :: Name -> Name -> [TyVarBndr] -> Q Bool
- isInsName :: Name -> Name -> Q Bool
- prevDev :: Name -> (Name -> Q Bool) -> Q [Name]
- megaderivePrim :: (Name -> Q [Dec]) -> (Name -> Q Bool) -> (Name -> Q Bool) -> Name -> Q [Dec]
- megaderive :: (Name -> Q [Dec]) -> (Name -> Q Bool) -> Name -> Q [Dec]
Documentation
View Pattern for Types
paramNames :: [TyVarBndr] -> [Name] Source #
headOf :: Type -> Name Source #
Look up the first type name in a type structure. This function is not complete, so it could fail and it will with an error message with the case that is missing
getTy :: Type -> Type Source #
Get the first type in a type application. Maybe we should improve this one
findLeafTypes :: Type -> [Type] Source #
Find all simple Types that are part of another Type.
headOfNoVar :: Type -> [Name] Source #