lorentz-0.4.0: EDSL for the Michelson Language
Safe HaskellNone
LanguageHaskell2010

Lorentz.TypeAnns

Description

Type annotations for Lorentz types.

Synopsis

Documentation

class HasTypeAnn a where Source #

Minimal complete definition

Nothing

Methods

getTypeAnn :: Notes (ToT a) Source #

default getTypeAnn :: (GHasTypeAnn (Rep a), GValueType (Rep a) ~ ToT a) => Notes (ToT a) Source #

Instances

Instances details
HasTypeAnn Bool Source # 
Instance details

Defined in Lorentz.TypeAnns

HasTypeAnn Integer Source # 
Instance details

Defined in Lorentz.TypeAnns

HasTypeAnn Natural Source # 
Instance details

Defined in Lorentz.TypeAnns

HasTypeAnn () Source # 
Instance details

Defined in Lorentz.TypeAnns

Methods

getTypeAnn :: Notes (ToT ()) Source #

HasTypeAnn ByteString Source # 
Instance details

Defined in Lorentz.TypeAnns

HasTypeAnn Operation Source # 
Instance details

Defined in Lorentz.TypeAnns

HasTypeAnn EpAddress Source # 
Instance details

Defined in Lorentz.TypeAnns

HasTypeAnn Address Source # 
Instance details

Defined in Lorentz.TypeAnns

HasTypeAnn Mutez Source # 
Instance details

Defined in Lorentz.TypeAnns

HasTypeAnn Timestamp Source # 
Instance details

Defined in Lorentz.TypeAnns

HasTypeAnn PublicKey Source # 
Instance details

Defined in Lorentz.TypeAnns

HasTypeAnn Signature Source # 
Instance details

Defined in Lorentz.TypeAnns

HasTypeAnn KeyHash Source # 
Instance details

Defined in Lorentz.TypeAnns

HasTypeAnn MText Source # 
Instance details

Defined in Lorentz.TypeAnns

HasTypeAnn Empty Source # 
Instance details

Defined in Lorentz.Empty

HasTypeAnn a => HasTypeAnn [a] Source # 
Instance details

Defined in Lorentz.TypeAnns

Methods

getTypeAnn :: Notes (ToT [a]) Source #

HasTypeAnn a => HasTypeAnn (Maybe a) Source # 
Instance details

Defined in Lorentz.TypeAnns

Methods

getTypeAnn :: Notes (ToT (Maybe a)) Source #

KnownIsoT v => HasTypeAnn (Set v) Source # 
Instance details

Defined in Lorentz.TypeAnns

Methods

getTypeAnn :: Notes (ToT (Set v)) Source #

HasTypeAnn a => HasTypeAnn (ContractRef a) Source # 
Instance details

Defined in Lorentz.TypeAnns

HasTypeAnn (FutureContract a) Source # 
Instance details

Defined in Lorentz.Address

HasTypeAnn (UStore a) Source # 
Instance details

Defined in Lorentz.UStore.Types

Methods

getTypeAnn :: Notes (ToT (UStore a)) Source #

HasTypeAnn (UParam entries) Source # 
Instance details

Defined in Lorentz.UParam

Methods

getTypeAnn :: Notes (ToT (UParam entries)) Source #

(HasTypeAnn a, HasTypeAnn b) => HasTypeAnn (a, b) Source # 
Instance details

Defined in Lorentz.TypeAnns

Methods

getTypeAnn :: Notes (ToT (a, b)) Source #

(HasTypeAnn k, HasTypeAnn v) => HasTypeAnn (Map k v) Source # 
Instance details

Defined in Lorentz.TypeAnns

Methods

getTypeAnn :: Notes (ToT (Map k v)) Source #

(HasTypeAnn k, HasTypeAnn v) => HasTypeAnn (BigMap k v) Source # 
Instance details

Defined in Lorentz.TypeAnns

Methods

getTypeAnn :: Notes (ToT (BigMap k v)) Source #

(HasTypeAnn (ZippedStack i), HasTypeAnn (ZippedStack o)) => HasTypeAnn (i :-> o) Source # 
Instance details

Defined in Lorentz.Zip

Methods

getTypeAnn :: Notes (ToT (i :-> o)) Source #

HasTypeAnn (TAddress p) Source # 
Instance details

Defined in Lorentz.Address

HasTypeAnn (MigrationScript oldStore newStore) Source # 
Instance details

Defined in Lorentz.UStore.Migration.Base

Methods

getTypeAnn :: Notes (ToT (MigrationScript oldStore newStore)) Source #

(HasTypeAnn a, HasTypeAnn b) => HasTypeAnn (Void_ a b) Source # 
Instance details

Defined in Lorentz.Macro

Methods

getTypeAnn :: Notes (ToT (Void_ a b)) Source #

(HasTypeAnn a, HasTypeAnn r) => HasTypeAnn (View a r) Source # 
Instance details

Defined in Lorentz.Macro

Methods

getTypeAnn :: Notes (ToT (View a r)) Source #

HasTypeAnn (Extensible x) Source # 
Instance details

Defined in Lorentz.Extensible

(HasTypeAnn a, HasTypeAnn b, HasTypeAnn c) => HasTypeAnn (a, b, c) Source # 
Instance details

Defined in Lorentz.TypeAnns

Methods

getTypeAnn :: Notes (ToT (a, b, c)) Source #

(HasTypeAnn (Maybe a), KnownSymbol name) => HasTypeAnn (NamedF Maybe a name) Source # 
Instance details

Defined in Lorentz.TypeAnns

Methods

getTypeAnn :: Notes (ToT (NamedF Maybe a name)) Source #

(HasTypeAnn a, KnownSymbol name) => HasTypeAnn (NamedF Identity a name) Source # 
Instance details

Defined in Lorentz.TypeAnns

Methods

getTypeAnn :: Notes (ToT (NamedF Identity a name)) Source #

(HasTypeAnn a, HasTypeAnn b, HasTypeAnn c, HasTypeAnn d) => HasTypeAnn (a, b, c, d) Source # 
Instance details

Defined in Lorentz.TypeAnns

Methods

getTypeAnn :: Notes (ToT (a, b, c, d)) Source #

(HasTypeAnn a, HasTypeAnn b, HasTypeAnn c, HasTypeAnn d, HasTypeAnn e) => HasTypeAnn (a, b, c, d, e) Source # 
Instance details

Defined in Lorentz.TypeAnns

Methods

getTypeAnn :: Notes (ToT (a, b, c, d, e)) Source #

(HasTypeAnn a, HasTypeAnn b, HasTypeAnn c, HasTypeAnn d, HasTypeAnn e, HasTypeAnn f) => HasTypeAnn (a, b, c, d, e, f) Source # 
Instance details

Defined in Lorentz.TypeAnns

Methods

getTypeAnn :: Notes (ToT (a, b, c, d, e, f)) Source #

(HasTypeAnn a, HasTypeAnn b, HasTypeAnn c, HasTypeAnn d, HasTypeAnn e, HasTypeAnn f, HasTypeAnn g) => HasTypeAnn (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Lorentz.TypeAnns

Methods

getTypeAnn :: Notes (ToT (a, b, c, d, e, f, g)) Source #

class GHasTypeAnn a where Source #

Instances

Instances details
GHasTypeAnn (U1 :: Type -> Type) Source # 
Instance details

Defined in Lorentz.TypeAnns

HasTypeAnn x => GHasTypeAnn (Rec0 x) Source # 
Instance details

Defined in Lorentz.TypeAnns

(GHasTypeAnn x, GHasTypeAnn y) => GHasTypeAnn (x :+: y) Source # 
Instance details

Defined in Lorentz.TypeAnns

(GHasTypeAnn x, GHasTypeAnn y) => GHasTypeAnn (x :*: y) Source # 
Instance details

Defined in Lorentz.TypeAnns

GHasTypeAnn x => GHasTypeAnn (M1 i0 i1 x) Source # 
Instance details

Defined in Lorentz.TypeAnns

Methods

gGetTypeAnn :: Notes (GValueType (M1 i0 i1 x)) Source #

insertTypeAnn :: forall (b :: T). TypeAnn -> Notes b -> Notes b #

Insert the provided type annotation into the provided notes.