| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.Logic.ATP.TH
Contents
Description
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 # | |