morley-1.15.1: Developer tools for the Michelson Language
Safe HaskellNone
LanguageHaskell2010

Michelson.Typed.T

Description

Module, providing T data type, representing Michelson language types without annotations.

Synopsis

Documentation

data T Source #

Michelson language type with annotations stripped off.

Instances

Instances details
Eq T Source # 
Instance details

Defined in Michelson.Typed.T

Methods

(==) :: T -> T -> Bool #

(/=) :: T -> T -> Bool #

Show T Source # 
Instance details

Defined in Michelson.Typed.T

Methods

showsPrec :: Int -> T -> ShowS #

show :: T -> String #

showList :: [T] -> ShowS #

Generic T Source # 
Instance details

Defined in Michelson.Typed.T

Associated Types

type Rep T :: Type -> Type #

Methods

from :: T -> Rep T x #

to :: Rep T x -> T #

NFData T Source # 
Instance details

Defined in Michelson.Typed.T

Methods

rnf :: T -> () #

Buildable T Source # 
Instance details

Defined in Michelson.Typed.T

Methods

build :: T -> Builder #

SDecide T => SDecide T Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

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

SingKind T Source # 
Instance details

Defined in Michelson.Typed.Sing

Associated Types

type Demote T = (r :: Type) #

Methods

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

toSing :: Demote T -> SomeSing T #

RenderDoc T Source # 
Instance details

Defined in Michelson.Typed.T

FromExpression T Source # 
Instance details

Defined in Morley.Micheline.Class

ToExpression T Source # 
Instance details

Defined in Morley.Micheline.Class

SDecide T => TestCoercion SingT Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

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

SDecide T => TestEquality SingT Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

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

SingI 'TKey Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing 'TKey #

SingI 'TUnit Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing 'TUnit #

SingI 'TSignature Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing 'TSignature #

SingI 'TChainId Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing 'TChainId #

SingI 'TOperation Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing 'TOperation #

SingI 'TInt Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing 'TInt #

SingI 'TNat Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing 'TNat #

SingI 'TString Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing 'TString #

SingI 'TBytes Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing 'TBytes #

SingI 'TMutez Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing 'TMutez #

SingI 'TBool Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing 'TBool #

SingI 'TKeyHash Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing 'TKeyHash #

SingI 'TBls12381Fr Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing 'TBls12381Fr #

SingI 'TBls12381G1 Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing 'TBls12381G1 #

SingI 'TBls12381G2 Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing 'TBls12381G2 #

SingI 'TTimestamp Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing 'TTimestamp #

SingI 'TAddress Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing 'TAddress #

SingI 'TNever Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing 'TNever #

SingI1 'TList Source #

Previously, we were using SingI constraints in SingT constructors. That was not so optimal because we have been spending too much space at runtime. Instead of that, we process values of SingT using the function withSingI in those places where the SingI constraint is required. withSingI allows one to create the SingI context for a given Sing.

Instance details

Defined in Michelson.Typed.Sing

Methods

withSingI1 :: forall (x :: k) r. SingI x => (SingI ('TList x) => r) -> r Source #

SingI k => SingI1 ('TMap k :: T -> T) Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

withSingI1 :: forall (x :: k0) r. SingI x => (SingI ('TMap k x) => r) -> r Source #

SingI n => SingI ('TOption n :: T) Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing ('TOption n) #

SingI n => SingI ('TList n :: T) Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing ('TList n) #

SingI n => SingI ('TSet n :: T) Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing ('TSet n) #

SingI n => SingI ('TContract n :: T) Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing ('TContract n) #

SingI n => SingI ('TTicket n :: T) Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing ('TTicket n) #

(SingI n1, SingI n2) => SingI ('TPair n1 n2 :: T) Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing ('TPair n1 n2) #

(SingI n1, SingI n2) => SingI ('TOr n1 n2 :: T) Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing ('TOr n1 n2) #

(SingI n1, SingI n2) => SingI ('TLambda n1 n2 :: T) Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing ('TLambda n1 n2) #

(SingI n1, SingI n2) => SingI ('TMap n1 n2 :: T) Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing ('TMap n1 n2) #

(SingI n1, SingI n2) => SingI ('TBigMap n1 n2 :: T) Source # 
Instance details

Defined in Michelson.Typed.Sing

Methods

sing :: Sing ('TBigMap n1 n2) #

SingI t => CheckScope (ComparabilityScope t) Source # 
Instance details

Defined in Michelson.Typed.Value

(SingI inp, SingI out) => FromExpression (Instr '[inp] '[out]) Source # 
Instance details

Defined in Morley.Micheline.Class

type Rep T Source # 
Instance details

Defined in Michelson.Typed.T

type Rep T = D1 ('MetaData "T" "Michelson.Typed.T" "morley-1.15.1-inplace" 'False) ((((C1 ('MetaCons "TKey" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TUnit" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TSignature" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "TChainId" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TOption" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 T))) :+: (C1 ('MetaCons "TList" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 T)) :+: C1 ('MetaCons "TSet" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 T))))) :+: ((C1 ('MetaCons "TOperation" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TContract" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 T)) :+: C1 ('MetaCons "TTicket" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 T)))) :+: ((C1 ('MetaCons "TPair" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 T) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 T)) :+: C1 ('MetaCons "TOr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 T) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 T))) :+: (C1 ('MetaCons "TLambda" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 T) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 T)) :+: C1 ('MetaCons "TMap" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 T) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 T)))))) :+: (((C1 ('MetaCons "TBigMap" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 T) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 T)) :+: (C1 ('MetaCons "TInt" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TNat" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "TString" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TBytes" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TMutez" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TBool" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "TKeyHash" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TBls12381Fr" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TBls12381G1" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "TBls12381G2" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TTimestamp" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TAddress" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TNever" 'PrefixI 'False) (U1 :: Type -> Type))))))
type Sing Source # 
Instance details

Defined in Michelson.Typed.Sing

type Sing = SingT
type Demote T Source # 
Instance details

Defined in Michelson.Typed.Sing

type Demote T = T

toUType :: T -> Ty Source #

Converts from T to Type.

buildStack :: [T] -> Builder Source #

Format type stack in a pretty way.