Copyright | (c) 2013-2016 Galois Inc. |
---|---|
License | BSD3 |
Maintainer | cryptol@galois.com |
Stability | provisional |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell2010 |
Assumes that the NoPat
pass has been run.
Documentation
checkE :: Expr Name -> Type -> InferM Expr Source #
Infer the type of an expression, and translate it to a fully elaborated core term.
inferBinds :: Bool -> Bool -> [Bind Name] -> InferM [Decl] Source #
inferBinds isTopLevel isRec binds
performs inference for a
strongly-connected component of Bind
s. If isTopLevel
is true,
any bindings without type signatures will be generalized. If it is
false, and the mono-binds flag is enabled, no bindings without type
signatures will be generalized, but bindings with signatures will
be unaffected.