morley-1.7.0: Developer tools for the Michelson Language
Safe HaskellNone
LanguageHaskell2010

Michelson.TypeCheck.Value

Synopsis

Documentation

typeCheckValImpl :: forall ty. SingI ty => Maybe TcOriginatedContracts -> TcInstrHandler -> Value -> TypeCheckInstr (Value ty) Source #

Function typeCheckValImpl converts a single Michelson value given in representation from Michelson.Type module to representation in strictly typed GADT.

typeCheckValImpl is polymorphic in the expected type of value.

Type checking algorithm pattern-matches on parse value representation, expected type t and constructs Val t value.

If there was no match on a given pair of value and expected type, that is interpreted as input of wrong type and type check finishes with error.

typeCheckValImpl also has a 'Maybe TcOriginatedContracts' argument that should contain the originated contracts when typechecking a parameter and Nothing otherwise.