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

Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Description

Data kinds plus singletons defining possible classifications for instructions.

Synopsis

Documentation

data InstrClass Source #

A product type of all classifications.

Instances

Instances details
SingKind InstrClass Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Associated Types

type Demote InstrClass = (r :: Type) #

(SDecide NumChildren, SDecide FailureType, SDecide IsMichelson, SDecide HasAnns) => SDecide InstrClass Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

(%~) :: forall (a :: InstrClass) (b :: InstrClass). Sing a -> Sing b -> Decision (a :~: b) #

(SDecide NumChildren, SDecide FailureType, SDecide IsMichelson, SDecide HasAnns) => TestCoercion SingInstrClass Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

testCoercion :: forall (a :: k) (b :: k). SingInstrClass a -> SingInstrClass b -> Maybe (Coercion a b) #

(SDecide NumChildren, SDecide FailureType, SDecide IsMichelson, SDecide HasAnns) => TestEquality SingInstrClass Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

testEquality :: forall (a :: k) (b :: k). SingInstrClass a -> SingInstrClass b -> Maybe (a :~: b) #

(SingI n1, SingI n2, SingI n3, SingI n4) => SingI ('InstrClass n1 n2 n3 n4 :: InstrClass) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

sing :: Sing ('InstrClass n1 n2 n3 n4) #

SingI InstrClassSym0 Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

SuppressUnusedWarnings InstrClassSym0 Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

SingI d => SingI (InstrClassSym1 d :: TyFun FailureType (IsMichelson ~> (HasAnns ~> InstrClass)) -> Type) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

sing :: Sing (InstrClassSym1 d) #

SuppressUnusedWarnings (InstrClassSym1 a6989586621679379732 :: TyFun FailureType (IsMichelson ~> (HasAnns ~> InstrClass)) -> Type) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

(SingI d1, SingI d2) => SingI (InstrClassSym2 d1 d2 :: TyFun IsMichelson (HasAnns ~> InstrClass) -> Type) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

sing :: Sing (InstrClassSym2 d1 d2) #

SuppressUnusedWarnings (InstrClassSym2 a6989586621679379732 a6989586621679379733 :: TyFun IsMichelson (HasAnns ~> InstrClass) -> Type) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

(SingI d1, SingI d2, SingI d3) => SingI (InstrClassSym3 d1 d2 d3 :: TyFun HasAnns InstrClass -> Type) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

sing :: Sing (InstrClassSym3 d1 d2 d3) #

SuppressUnusedWarnings (InstrClassSym3 a6989586621679379732 a6989586621679379733 a6989586621679379734 :: TyFun HasAnns InstrClass -> Type) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Demote InstrClass Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Sing Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply (InstrClassSym3 a6989586621679379732 a6989586621679379733 a6989586621679379734 :: TyFun HasAnns InstrClass -> Type) (a6989586621679379735 :: HasAnns) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply (InstrClassSym3 a6989586621679379732 a6989586621679379733 a6989586621679379734 :: TyFun HasAnns InstrClass -> Type) (a6989586621679379735 :: HasAnns) = 'InstrClass a6989586621679379732 a6989586621679379733 a6989586621679379734 a6989586621679379735
type Apply InstrClassSym0 (a6989586621679379732 :: NumChildren) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply InstrClassSym0 (a6989586621679379732 :: NumChildren) = InstrClassSym1 a6989586621679379732
type Apply (InstrClassSym1 a6989586621679379732 :: TyFun FailureType (IsMichelson ~> (HasAnns ~> InstrClass)) -> Type) (a6989586621679379733 :: FailureType) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply (InstrClassSym1 a6989586621679379732 :: TyFun FailureType (IsMichelson ~> (HasAnns ~> InstrClass)) -> Type) (a6989586621679379733 :: FailureType) = InstrClassSym2 a6989586621679379732 a6989586621679379733
type Apply (InstrClassSym2 a6989586621679379732 a6989586621679379733 :: TyFun IsMichelson (HasAnns ~> InstrClass) -> Type) (a6989586621679379734 :: IsMichelson) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply (InstrClassSym2 a6989586621679379732 a6989586621679379733 :: TyFun IsMichelson (HasAnns ~> InstrClass) -> Type) (a6989586621679379734 :: IsMichelson) = InstrClassSym3 a6989586621679379732 a6989586621679379733 a6989586621679379734

data HasAnns Source #

Whether an instruction carries Michelson annotations.

Constructors

DoesNotHaveAnns 
DoesHaveStandardAnns

Standard means that the first constructor argument contains all annotations as Anns type, which is true for most annotated instructions. There are a couple exceptions, however.

DoesHaveNonStandardAnns 

Instances

Instances details
Enum HasAnns Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Show HasAnns Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

ClassifyInstr HasAnns Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Associated Types

type GetClassified c :: k Source #

SingKind HasAnns Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Associated Types

type Demote HasAnns = (r :: Type) #

Methods

fromSing :: forall (a :: HasAnns). Sing a -> Demote HasAnns #

toSing :: Demote HasAnns -> SomeSing HasAnns #

SDecide HasAnns Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

(%~) :: forall (a :: HasAnns) (b :: HasAnns). Sing a -> Sing b -> Decision (a :~: b) #

TestCoercion SingHasAnns Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

testCoercion :: forall (a :: k) (b :: k). SingHasAnns a -> SingHasAnns b -> Maybe (Coercion a b) #

TestEquality SingHasAnns Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

testEquality :: forall (a :: k) (b :: k). SingHasAnns a -> SingHasAnns b -> Maybe (a :~: b) #

SingI 'DoesHaveNonStandardAnns Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

SingI 'DoesHaveStandardAnns Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

SingI 'DoesNotHaveAnns Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

SingI InstrClassSym0 Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

SuppressUnusedWarnings InstrClassSym0 Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

SingI d => SingI (InstrClassSym1 d :: TyFun FailureType (IsMichelson ~> (HasAnns ~> InstrClass)) -> Type) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

sing :: Sing (InstrClassSym1 d) #

SuppressUnusedWarnings (InstrClassSym1 a6989586621679379732 :: TyFun FailureType (IsMichelson ~> (HasAnns ~> InstrClass)) -> Type) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

(SingI d1, SingI d2) => SingI (InstrClassSym2 d1 d2 :: TyFun IsMichelson (HasAnns ~> InstrClass) -> Type) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

sing :: Sing (InstrClassSym2 d1 d2) #

SuppressUnusedWarnings (InstrClassSym2 a6989586621679379732 a6989586621679379733 :: TyFun IsMichelson (HasAnns ~> InstrClass) -> Type) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

(SingI d1, SingI d2, SingI d3) => SingI (InstrClassSym3 d1 d2 d3 :: TyFun HasAnns InstrClass -> Type) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

sing :: Sing (InstrClassSym3 d1 d2 d3) #

SuppressUnusedWarnings (InstrClassSym3 a6989586621679379732 a6989586621679379733 a6989586621679379734 :: TyFun HasAnns InstrClass -> Type) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Demote HasAnns Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Sing Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply (InstrClassSym3 a6989586621679379732 a6989586621679379733 a6989586621679379734 :: TyFun HasAnns InstrClass -> Type) (a6989586621679379735 :: HasAnns) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply (InstrClassSym3 a6989586621679379732 a6989586621679379733 a6989586621679379734 :: TyFun HasAnns InstrClass -> Type) (a6989586621679379735 :: HasAnns) = 'InstrClass a6989586621679379732 a6989586621679379733 a6989586621679379734 a6989586621679379735
type Apply InstrClassSym0 (a6989586621679379732 :: NumChildren) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply InstrClassSym0 (a6989586621679379732 :: NumChildren) = InstrClassSym1 a6989586621679379732
type Apply (InstrClassSym1 a6989586621679379732 :: TyFun FailureType (IsMichelson ~> (HasAnns ~> InstrClass)) -> Type) (a6989586621679379733 :: FailureType) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply (InstrClassSym1 a6989586621679379732 :: TyFun FailureType (IsMichelson ~> (HasAnns ~> InstrClass)) -> Type) (a6989586621679379733 :: FailureType) = InstrClassSym2 a6989586621679379732 a6989586621679379733
type Apply (InstrClassSym2 a6989586621679379732 a6989586621679379733 :: TyFun IsMichelson (HasAnns ~> InstrClass) -> Type) (a6989586621679379734 :: IsMichelson) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply (InstrClassSym2 a6989586621679379732 a6989586621679379733 :: TyFun IsMichelson (HasAnns ~> InstrClass) -> Type) (a6989586621679379734 :: IsMichelson) = InstrClassSym3 a6989586621679379732 a6989586621679379733 a6989586621679379734
type GetClassified ('InstrClass _1 _2 _3 a) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type GetClassified ('InstrClass _1 _2 _3 a) = a

data IsMichelson Source #

Constructors

FromMichelson

There is corresponding instruction in the Michelson spec.

Additional

"Extended instructions". Don't affect execution on chain, but may affect execution on the morley emulator.

Phantom

Wrappers that don't affect execution.

Structural

Michelson structures that are not instructions, e.g. a nested code block.

Instances

Instances details
Enum IsMichelson Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Show IsMichelson Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

ClassifyInstr IsMichelson Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Associated Types

type GetClassified c :: k Source #

SingKind IsMichelson Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Associated Types

type Demote IsMichelson = (r :: Type) #

SDecide IsMichelson Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

(%~) :: forall (a :: IsMichelson) (b :: IsMichelson). Sing a -> Sing b -> Decision (a :~: b) #

TestCoercion SingIsMichelson Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

testCoercion :: forall (a :: k) (b :: k). SingIsMichelson a -> SingIsMichelson b -> Maybe (Coercion a b) #

TestEquality SingIsMichelson Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

testEquality :: forall (a :: k) (b :: k). SingIsMichelson a -> SingIsMichelson b -> Maybe (a :~: b) #

SingI 'Additional Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

sing :: Sing 'Additional #

SingI 'FromMichelson Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

SingI 'Phantom Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

sing :: Sing 'Phantom #

SingI 'Structural Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

sing :: Sing 'Structural #

SingI InstrClassSym0 Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

SuppressUnusedWarnings InstrClassSym0 Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

SingI d => SingI (InstrClassSym1 d :: TyFun FailureType (IsMichelson ~> (HasAnns ~> InstrClass)) -> Type) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

sing :: Sing (InstrClassSym1 d) #

SuppressUnusedWarnings (InstrClassSym1 a6989586621679379732 :: TyFun FailureType (IsMichelson ~> (HasAnns ~> InstrClass)) -> Type) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

(SingI d1, SingI d2) => SingI (InstrClassSym2 d1 d2 :: TyFun IsMichelson (HasAnns ~> InstrClass) -> Type) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

sing :: Sing (InstrClassSym2 d1 d2) #

SuppressUnusedWarnings (InstrClassSym2 a6989586621679379732 a6989586621679379733 :: TyFun IsMichelson (HasAnns ~> InstrClass) -> Type) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Demote IsMichelson Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Sing Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply InstrClassSym0 (a6989586621679379732 :: NumChildren) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply InstrClassSym0 (a6989586621679379732 :: NumChildren) = InstrClassSym1 a6989586621679379732
type Apply (InstrClassSym1 a6989586621679379732 :: TyFun FailureType (IsMichelson ~> (HasAnns ~> InstrClass)) -> Type) (a6989586621679379733 :: FailureType) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply (InstrClassSym1 a6989586621679379732 :: TyFun FailureType (IsMichelson ~> (HasAnns ~> InstrClass)) -> Type) (a6989586621679379733 :: FailureType) = InstrClassSym2 a6989586621679379732 a6989586621679379733
type Apply (InstrClassSym2 a6989586621679379732 a6989586621679379733 :: TyFun IsMichelson (HasAnns ~> InstrClass) -> Type) (a6989586621679379734 :: IsMichelson) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply (InstrClassSym2 a6989586621679379732 a6989586621679379733 :: TyFun IsMichelson (HasAnns ~> InstrClass) -> Type) (a6989586621679379734 :: IsMichelson) = InstrClassSym3 a6989586621679379732 a6989586621679379733 a6989586621679379734
type GetClassified ('InstrClass _1 _2 a _3) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type GetClassified ('InstrClass _1 _2 a _3) = a

data FailureType Source #

Whether an instruction always fails. An example of always-failing instruction is NEVER.

Constructors

AlwaysFailing

Instruction always fails.

FailingNormal

Instruction might fail if inputs are incorrect, but will generally work.

Instances

Instances details
Enum FailureType Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Show FailureType Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

ClassifyInstr FailureType Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Associated Types

type GetClassified c :: k Source #

SingKind FailureType Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Associated Types

type Demote FailureType = (r :: Type) #

SDecide FailureType Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

(%~) :: forall (a :: FailureType) (b :: FailureType). Sing a -> Sing b -> Decision (a :~: b) #

TestCoercion SingFailureType Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

testCoercion :: forall (a :: k) (b :: k). SingFailureType a -> SingFailureType b -> Maybe (Coercion a b) #

TestEquality SingFailureType Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

testEquality :: forall (a :: k) (b :: k). SingFailureType a -> SingFailureType b -> Maybe (a :~: b) #

SingI 'AlwaysFailing Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

SingI 'FailingNormal Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

SingI InstrClassSym0 Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

SuppressUnusedWarnings InstrClassSym0 Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

SingI d => SingI (InstrClassSym1 d :: TyFun FailureType (IsMichelson ~> (HasAnns ~> InstrClass)) -> Type) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

sing :: Sing (InstrClassSym1 d) #

SuppressUnusedWarnings (InstrClassSym1 a6989586621679379732 :: TyFun FailureType (IsMichelson ~> (HasAnns ~> InstrClass)) -> Type) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Demote FailureType Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Sing Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply InstrClassSym0 (a6989586621679379732 :: NumChildren) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply InstrClassSym0 (a6989586621679379732 :: NumChildren) = InstrClassSym1 a6989586621679379732
type Apply (InstrClassSym1 a6989586621679379732 :: TyFun FailureType (IsMichelson ~> (HasAnns ~> InstrClass)) -> Type) (a6989586621679379733 :: FailureType) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply (InstrClassSym1 a6989586621679379732 :: TyFun FailureType (IsMichelson ~> (HasAnns ~> InstrClass)) -> Type) (a6989586621679379733 :: FailureType) = InstrClassSym2 a6989586621679379732 a6989586621679379733
type GetClassified ('InstrClass _1 a _2 _3) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type GetClassified ('InstrClass _1 a _2 _3) = a

data NumChildren Source #

Number of children instructions a given instruction constructor has.

Constructors

MayHaveChildren

It is unknown at compile-time whether the instruction has children or not.

HasIndirectChildren

The instruction has children indirectly, as values.

NoChildren

The instruction has no children.

OneChild

The instruction has one child.

TwoChildren

The instruction has two children.

Instances

Instances details
Enum NumChildren Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Show NumChildren Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

ClassifyInstr NumChildren Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Associated Types

type GetClassified c :: k Source #

SingKind NumChildren Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Associated Types

type Demote NumChildren = (r :: Type) #

SDecide NumChildren Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

(%~) :: forall (a :: NumChildren) (b :: NumChildren). Sing a -> Sing b -> Decision (a :~: b) #

TestCoercion SingNumChildren Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

testCoercion :: forall (a :: k) (b :: k). SingNumChildren a -> SingNumChildren b -> Maybe (Coercion a b) #

TestEquality SingNumChildren Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

testEquality :: forall (a :: k) (b :: k). SingNumChildren a -> SingNumChildren b -> Maybe (a :~: b) #

SingI 'HasIndirectChildren Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

SingI 'MayHaveChildren Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

SingI 'NoChildren Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

sing :: Sing 'NoChildren #

SingI 'OneChild Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

sing :: Sing 'OneChild #

SingI 'TwoChildren Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

sing :: Sing 'TwoChildren #

SingI InstrClassSym0 Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

SuppressUnusedWarnings InstrClassSym0 Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Demote NumChildren Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Sing Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply InstrClassSym0 (a6989586621679379732 :: NumChildren) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply InstrClassSym0 (a6989586621679379732 :: NumChildren) = InstrClassSym1 a6989586621679379732
type GetClassified ('InstrClass a _1 _2 _3) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type GetClassified ('InstrClass a _1 _2 _3) = a

class ClassifyInstr k where Source #

Associated Types

type GetClassified (c :: InstrClass) :: k Source #

Instances

Instances details
ClassifyInstr FailureType Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Associated Types

type GetClassified c :: k Source #

ClassifyInstr HasAnns Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Associated Types

type GetClassified c :: k Source #

ClassifyInstr IsMichelson Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Associated Types

type GetClassified c :: k Source #

ClassifyInstr NumChildren Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Associated Types

type GetClassified c :: k Source #

type family StructuralSym0 :: IsMichelson where ... Source #

type family PhantomSym0 :: IsMichelson where ... Source #

Equations

PhantomSym0 = 'Phantom 

type family AdditionalSym0 :: IsMichelson where ... Source #

type family TwoChildrenSym0 :: NumChildren where ... Source #

type family OneChildSym0 :: NumChildren where ... Source #

Equations

OneChildSym0 = 'OneChild 

type family NoChildrenSym0 :: NumChildren where ... Source #

data SingInstrClass :: InstrClass -> Type where Source #

Constructors

SInstrClass :: forall (n :: NumChildren) (n :: FailureType) (n :: IsMichelson) (n :: HasAnns). (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> SingInstrClass ('InstrClass n n n n :: InstrClass) 

type family InstrClassSym4 (a6989586621679379732 :: NumChildren) (a6989586621679379733 :: FailureType) (a6989586621679379734 :: IsMichelson) (a6989586621679379735 :: HasAnns) :: InstrClass where ... Source #

Equations

InstrClassSym4 a6989586621679379732 a6989586621679379733 a6989586621679379734 a6989586621679379735 = 'InstrClass a6989586621679379732 a6989586621679379733 a6989586621679379734 a6989586621679379735 

data InstrClassSym3 (a6989586621679379732 :: NumChildren) (a6989586621679379733 :: FailureType) (a6989586621679379734 :: IsMichelson) :: (~>) HasAnns InstrClass where Source #

Constructors

InstrClassSym3KindInference :: SameKind (Apply (InstrClassSym3 a6989586621679379732 a6989586621679379733 a6989586621679379734) arg) (InstrClassSym4 a6989586621679379732 a6989586621679379733 a6989586621679379734 arg) => InstrClassSym3 a6989586621679379732 a6989586621679379733 a6989586621679379734 a6989586621679379735 

Instances

Instances details
(SingI d1, SingI d2, SingI d3) => SingI (InstrClassSym3 d1 d2 d3 :: TyFun HasAnns InstrClass -> Type) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

sing :: Sing (InstrClassSym3 d1 d2 d3) #

SuppressUnusedWarnings (InstrClassSym3 a6989586621679379732 a6989586621679379733 a6989586621679379734 :: TyFun HasAnns InstrClass -> Type) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply (InstrClassSym3 a6989586621679379732 a6989586621679379733 a6989586621679379734 :: TyFun HasAnns InstrClass -> Type) (a6989586621679379735 :: HasAnns) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply (InstrClassSym3 a6989586621679379732 a6989586621679379733 a6989586621679379734 :: TyFun HasAnns InstrClass -> Type) (a6989586621679379735 :: HasAnns) = 'InstrClass a6989586621679379732 a6989586621679379733 a6989586621679379734 a6989586621679379735

data InstrClassSym2 (a6989586621679379732 :: NumChildren) (a6989586621679379733 :: FailureType) :: (~>) IsMichelson ((~>) HasAnns InstrClass) where Source #

Constructors

InstrClassSym2KindInference :: SameKind (Apply (InstrClassSym2 a6989586621679379732 a6989586621679379733) arg) (InstrClassSym3 a6989586621679379732 a6989586621679379733 arg) => InstrClassSym2 a6989586621679379732 a6989586621679379733 a6989586621679379734 

Instances

Instances details
(SingI d1, SingI d2) => SingI (InstrClassSym2 d1 d2 :: TyFun IsMichelson (HasAnns ~> InstrClass) -> Type) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

sing :: Sing (InstrClassSym2 d1 d2) #

SuppressUnusedWarnings (InstrClassSym2 a6989586621679379732 a6989586621679379733 :: TyFun IsMichelson (HasAnns ~> InstrClass) -> Type) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply (InstrClassSym2 a6989586621679379732 a6989586621679379733 :: TyFun IsMichelson (HasAnns ~> InstrClass) -> Type) (a6989586621679379734 :: IsMichelson) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply (InstrClassSym2 a6989586621679379732 a6989586621679379733 :: TyFun IsMichelson (HasAnns ~> InstrClass) -> Type) (a6989586621679379734 :: IsMichelson) = InstrClassSym3 a6989586621679379732 a6989586621679379733 a6989586621679379734

data InstrClassSym1 (a6989586621679379732 :: NumChildren) :: (~>) FailureType ((~>) IsMichelson ((~>) HasAnns InstrClass)) where Source #

Constructors

InstrClassSym1KindInference :: SameKind (Apply (InstrClassSym1 a6989586621679379732) arg) (InstrClassSym2 a6989586621679379732 arg) => InstrClassSym1 a6989586621679379732 a6989586621679379733 

Instances

Instances details
SingI d => SingI (InstrClassSym1 d :: TyFun FailureType (IsMichelson ~> (HasAnns ~> InstrClass)) -> Type) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

Methods

sing :: Sing (InstrClassSym1 d) #

SuppressUnusedWarnings (InstrClassSym1 a6989586621679379732 :: TyFun FailureType (IsMichelson ~> (HasAnns ~> InstrClass)) -> Type) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply (InstrClassSym1 a6989586621679379732 :: TyFun FailureType (IsMichelson ~> (HasAnns ~> InstrClass)) -> Type) (a6989586621679379733 :: FailureType) Source # 
Instance details

Defined in Morley.Michelson.Typed.ClassifiedInstr.Internal.Types

type Apply (InstrClassSym1 a6989586621679379732 :: TyFun FailureType (IsMichelson ~> (HasAnns ~> InstrClass)) -> Type) (a6989586621679379733 :: FailureType) = InstrClassSym2 a6989586621679379732 a6989586621679379733