| Copyright | (c) 2013-2016 Galois Inc. |
|---|---|
| License | BSD3 |
| Maintainer | cryptol@galois.com |
| Stability | provisional |
| Portability | portable |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Cryptol.TypeCheck.Infer
Description
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 Binds.
If any of the members of the recursive group are already marked
as monomorphic, then we don't do generalzation.
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.