cryptol-2.11.0: Cryptol: The Language of Cryptography
Copyright(c) 2013-2016 Galois Inc.
LicenseBSD3
Maintainercryptol@galois.com
Stabilityprovisional
Portabilityportable
Safe HaskellSafe
LanguageHaskell2010

Cryptol.TypeCheck.Infer

Description

Assumes that the NoPat pass has been run.

Synopsis

Documentation

checkE :: Expr Name -> TypeWithSource -> 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 generalization. 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.

inferDs :: FromDecl d => [d] -> ([DeclGroup] -> InferM a) -> InferM a Source #