Safe Haskell | None |
---|---|
Language | Haskell2010 |
Implements the IR to lifted IR translation, which applies the monadic lifting as described by Abel et al. in "Verifying Haskell Programs Using Constructive Type Theory".
Documentation
:: Maybe Int | Index of the decreasing argument for recursive functions. |
-> [VarPat] | The argument types. |
-> Converter [Type] |
Converts the argument types of a function.
liftConArgType :: QName -> Type -> Converter Type Source #
Converts a constructor argument using convertType
.
All occurrences of the constructed type are marked as structurally smaller.
liftVarPatType :: VarPat -> Converter (Maybe Type) Source #
Lifts the type of an VarPat
. If the argument is strict the type itself
isn't lifted into the Free
monad.