Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- type TypeCheckedInstr op = InstrAbstract (TypeCheckedOp op)
- data TypeCheckedOp op where
- WellTypedOp :: (SingI inp, SingI out) => Instr inp out -> TypeCheckedOp op
- IllTypedOp :: IllTypedInstr op -> TypeCheckedOp op
- data IllTypedInstr op
- = SemiTypedInstr (TypeCheckedInstr op)
- | NonTypedInstr op
- someInstrToOp :: SomeTcInstr inp -> TypeCheckedOp op
- someViewToOp :: SomeView st -> View' (TypeCheckedOp op)
Documentation
type TypeCheckedInstr op = InstrAbstract (TypeCheckedOp op) Source #
Represents a root of a partially typed operation tree.
data TypeCheckedOp op where Source #
Represents nodes of a partially typed operation tree.
WellTypedOp :: (SingI inp, SingI out) => Instr inp out -> TypeCheckedOp op | Constructs well-typed node. |
IllTypedOp :: IllTypedInstr op -> TypeCheckedOp op | Constructs ill-typed node which might in turn contain well-typed and non-typed operations. |
Instances
Functor TypeCheckedOp Source # | |
Defined in Morley.Michelson.TypeCheck.TypeCheckedOp fmap :: (a -> b) -> TypeCheckedOp a -> TypeCheckedOp b # (<$) :: a -> TypeCheckedOp b -> TypeCheckedOp a # | |
Show op => Show (TypeCheckedOp op) Source # | |
Defined in Morley.Michelson.TypeCheck.TypeCheckedOp showsPrec :: Int -> TypeCheckedOp op -> ShowS # show :: TypeCheckedOp op -> String # showList :: [TypeCheckedOp op] -> ShowS # | |
NFData op => NFData (TypeCheckedOp op) Source # | |
Defined in Morley.Michelson.TypeCheck.TypeCheckedOp rnf :: TypeCheckedOp op -> () # | |
Eq op => Eq (TypeCheckedOp op) Source # | |
Defined in Morley.Michelson.TypeCheck.TypeCheckedOp (==) :: TypeCheckedOp op -> TypeCheckedOp op -> Bool # (/=) :: TypeCheckedOp op -> TypeCheckedOp op -> Bool # | |
RenderDoc op => RenderDoc (TypeCheckedOp op) Source # | |
Defined in Morley.Michelson.TypeCheck.TypeCheckedOp renderDoc :: RenderContext -> TypeCheckedOp op -> Doc Source # isRenderable :: TypeCheckedOp op -> Bool Source # |
data IllTypedInstr op Source #
Represents a non-well-typed operation
SemiTypedInstr (TypeCheckedInstr op) | Constructs a partialy typed operation. |
NonTypedInstr op | Constructs a completely untyped operation. |
Instances
someInstrToOp :: SomeTcInstr inp -> TypeCheckedOp op Source #
Makes a well-typed node out of SomeTcInstr
someViewToOp :: SomeView st -> View' (TypeCheckedOp op) Source #
Makes takes a typed view and converts it into an untyped one with typechecked code.