Safe Haskell | None |
---|---|
Language | Haskell2010 |
Typical usages of FAILWITH instruction.
Synopsis
- data TypicalFailWith
- typicalFailWithTag :: TypicalFailWith -> MText
- isTypicalFailWith :: Instr inp out -> Maybe TypicalFailWith
- modifyTypicalFailWith :: HasCallStack => (MText -> SomeConstrainedValue ConstantScope') -> Instr inp out -> Instr inp out
- class (Typeable a, ConstantScope a) => ConstantScope' a
Documentation
data TypicalFailWith Source #
This data type captures typical ways to use FAILWITH
instruction.
Each constructor corresponds to a usage pattern.
typicalFailWithTag :: TypicalFailWith -> MText Source #
Extract error tag out of TypicalFailWith
.
isTypicalFailWith :: Instr inp out -> Maybe TypicalFailWith Source #
Check whether given instruction ends with a typical FAILWITH
usage. It does not recursively check instructions that can be
passed to other instructions.
The instruction MUST be linearized to the left (see linearizeLeft
).
modifyTypicalFailWith :: HasCallStack => (MText -> SomeConstrainedValue ConstantScope') -> Instr inp out -> Instr inp out Source #
If given instruction ends with a typical FAILWITH
usage, modify
the tag used there using given transformation function. It can
return any value, not necessarily a string.
class (Typeable a, ConstantScope a) => ConstantScope' a Source #
We need this class to pass it to SomeConstrainedValue
.
ConstantScope
is needed because we push a value and Typeable
is
needed for FAILWITH
.
Instances
(Typeable a, ConstantScope a) => ConstantScope' a Source # | |
Defined in Michelson.FailPattern |