morley-1.18.0: Developer tools for the Michelson Language
Safe HaskellSafe-Inferred
LanguageHaskell2010

Morley.Michelson.TypeCheck.TypeCheckedOp

Synopsis

Documentation

type TypeCheckedInstr = InstrAbstract TypeCheckedOp Source #

Represents a root of a partially typed operation tree.

data TypeCheckedOp where Source #

Represents nodes of a partially typed operation tree.

Constructors

WellTypedOp :: (SingI inp, SingI out) => Instr inp out -> TypeCheckedOp

Constructs well-typed node.

IllTypedOp :: IllTypedInstr -> TypeCheckedOp

Constructs ill-typed node which might in turn contain well-typed and non-typed operations.

data IllTypedInstr Source #

Represents a non-well-typed operation

Constructors

SemiTypedInstr TypeCheckedInstr

Constructs a partialy typed operation.

NonTypedInstr ExpandedOp

Constructs a completely untyped operation.

someInstrToOp :: SomeInstr inp -> TypeCheckedOp Source #

Makes a well-typed node out of SomeInstr

someViewToOp :: View' op -> SomeView st -> View' TypeCheckedOp Source #

Makes a view with well-typed code, taking the untyped and typechecked view.