Safe Haskell | None |
---|---|
Language | Haskell2010 |
ATP instances for the template haskell type Type
, and the
conjunction of such types, [Type]
. In these instances, almost
every role is played by Type
. It might a case where the tagged
package could be used to advantage. A list represents conjunction,
but there is no disjunction operation, nor any derived from it like
implication or equivalence.
Documentation
unfoldApply :: Type -> [Type] -> (Type, [Type]) Source #
Helper function to interpret a type application:
unfoldApply (AppT (AppT (AppT (VarT (mkName "a")) StarT) ListT) ArrowT) -> (VarT (mkName "a"), [StarT, ListT, ArrowT])
The inverse is uncurry . foldl AppT
.
Orphan instances
IsString Type Source # | |
HasEquate Type Source # | |
IsPredicate Type Source # | |
HasApply Type Source # | |
IsVariable Type Source # | |
IsFunction Type Source # | |
IsTerm Type Source # | |
IsLiteral Type Source # | |
JustLiteral Type Source # | |
IsAtom Type Source # | |
IsFormula Type Source # | |
HasFixity Type Source # | |
Pretty Type Source # | |
Monad m => Unify m Type Source # | |
Monad m => Unify m [Type] Source # | |