| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Michelson.Typed.Extract
Description
Module, containing functions to convert Michelson.Untyped.Type to
Michelson.Typed.T.T Michelson type representation (type stripped off all
annotations) and to Michelson.Typed.Annotation.Notes value (which contains
field and type annotations for a given Michelson type).
I.e. Michelson.Untyped.Type is split to value t :: T and value of type
Notes t for which t is a type representation of value t.
Documentation
withUType :: Type -> (forall t. KnownT t => Notes t -> r) -> r Source #
Convert Type to the isomorphic set of information from typed world.
pattern AsUType :: () => KnownT t => Notes t -> Type Source #
Transparently represent untyped Type as wrapper over Notes t
from typed world with SingI t constraint.
As expression this carries logic of mkUType, and as pattern it performs
withUType but may make code a bit cleaner.
Note about constraints: pattern signatures usually require two constraints -
one they require and another one which they provide. In our case we require
nothing (thus first constraint is ()) and provide some knowledge about t.