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

Morley.Micheline.Expression.Internal.MichelinePrimitive

Description

Micheline primitive datatype

Synopsis

Documentation

data MichelinePrimitive Source #

Constructors

Prim_parameter 
Prim_storage 
Prim_code 
Prim_False 
Prim_Elt 
Prim_Left 
Prim_None 
Prim_Pair 
Prim_Right 
Prim_Some 
Prim_True 
Prim_Unit 
Prim_PACK 
Prim_UNPACK 
Prim_BLAKE2B 
Prim_SHA256 
Prim_SHA512 
Prim_ABS 
Prim_ADD 
Prim_AMOUNT 
Prim_AND 
Prim_BALANCE 
Prim_CAR 
Prim_CDR 
Prim_CHECK_SIGNATURE 
Prim_COMPARE 
Prim_CONCAT 
Prim_CONS 
Prim_CREATE_ACCOUNT 
Prim_CREATE_CONTRACT 
Prim_IMPLICIT_ACCOUNT 
Prim_DIP 
Prim_DROP 
Prim_DUP 
Prim_EDIV 
Prim_EMPTY_MAP 
Prim_EMPTY_SET 
Prim_EQ 
Prim_EXEC 
Prim_FAILWITH 
Prim_GE 
Prim_GET 
Prim_GT 
Prim_HASH_KEY 
Prim_IF 
Prim_IF_CONS 
Prim_IF_LEFT 
Prim_IF_NONE 
Prim_INT 
Prim_LAMBDA 
Prim_LE 
Prim_LEFT 
Prim_LOOP 
Prim_LSL 
Prim_LSR 
Prim_LT 
Prim_MAP 
Prim_MEM 
Prim_MUL 
Prim_NEG 
Prim_NEQ 
Prim_NIL 
Prim_NONE 
Prim_NOT 
Prim_NOW 
Prim_OR 
Prim_PAIR 
Prim_PUSH 
Prim_RIGHT 
Prim_SIZE 
Prim_SOME 
Prim_SOURCE 
Prim_SENDER 
Prim_SELF 
Prim_STEPS_TO_QUOTA 
Prim_SUB 
Prim_SWAP 
Prim_TRANSFER_TOKENS 
Prim_SET_DELEGATE 
Prim_UNIT 
Prim_UPDATE 
Prim_XOR 
Prim_ITER 
Prim_LOOP_LEFT 
Prim_ADDRESS 
Prim_CONTRACT 
Prim_ISNAT 
Prim_CAST 
Prim_RENAME 
Prim_bool 
Prim_contract 
Prim_int 
Prim_key 
Prim_key_hash 
Prim_lambda 
Prim_list 
Prim_map 
Prim_big_map 
Prim_nat 
Prim_option 
Prim_or 
Prim_pair 
Prim_set 
Prim_signature 
Prim_string 
Prim_bytes 
Prim_mutez 
Prim_timestamp 
Prim_unit 
Prim_operation 
Prim_address 
Prim_SLICE 
Prim_DIG 
Prim_DUG 
Prim_EMPTY_BIG_MAP 
Prim_APPLY 
Prim_chain_id 
Prim_CHAIN_ID 
Prim_LEVEL 
Prim_SELF_ADDRESS 
Prim_never 
Prim_NEVER 
Prim_UNPAIR 
Prim_VOTING_POWER 
Prim_TOTAL_VOTING_POWER 
Prim_KECCAK 
Prim_SHA3 
Prim_PAIRING_CHECK 
Prim_bls12_381_g1 
Prim_bls12_381_g2 
Prim_bls12_381_fr 
Prim_sapling_state 
Prim_sapling_transaction_deprecated 
Prim_SAPLING_EMPTY_STATE 
Prim_SAPLING_VERIFY_UPDATE 
Prim_ticket 
Prim_TICKET_DEPRECATED 
Prim_READ_TICKET 
Prim_SPLIT_TICKET 
Prim_JOIN_TICKETS 
Prim_GET_AND_UPDATE 
Prim_chest 
Prim_chest_key 
Prim_OPEN_CHEST 
Prim_VIEW 
Prim_view 
Prim_constant 
Prim_SUB_MUTEZ 
Prim_tx_rollup_l2_address 
Prim_MIN_BLOCK_TIME 
Prim_sapling_transaction 
Prim_EMIT 
Prim_Lambda_rec 
Prim_LAMBDA_REC 
Prim_TICKET 
Prim_BYTES 
Prim_NAT 

Instances

Instances details
FromJSON MichelinePrimitive Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

ToJSON MichelinePrimitive Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

Data MichelinePrimitive Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MichelinePrimitive -> c MichelinePrimitive #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MichelinePrimitive #

toConstr :: MichelinePrimitive -> Constr #

dataTypeOf :: MichelinePrimitive -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MichelinePrimitive) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MichelinePrimitive) #

gmapT :: (forall b. Data b => b -> b) -> MichelinePrimitive -> MichelinePrimitive #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MichelinePrimitive -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MichelinePrimitive -> r #

gmapQ :: (forall d. Data d => d -> u) -> MichelinePrimitive -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> MichelinePrimitive -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> MichelinePrimitive -> m MichelinePrimitive #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MichelinePrimitive -> m MichelinePrimitive #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MichelinePrimitive -> m MichelinePrimitive #

Bounded MichelinePrimitive Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

Enum MichelinePrimitive Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

Read MichelinePrimitive Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

Show MichelinePrimitive Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

Eq MichelinePrimitive Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

Ord MichelinePrimitive Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

Buildable MichelinePrimitive Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

Lift MichelinePrimitive Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

type PrettyShow MichelinePrimitive Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

type PrettyShow MichelinePrimitive = ()

data MichelinePrimitiveTag Source #

Simple classification datakind for MichelinePrimitive.

Constructors

MPTKeyword

Keywords, like parameter, code, storage, view

MPTInstr

Instructions, e.g. UNIT, DIP, etc

MPTValue

Value constructors like Left, Lambda_rec, etc

MPTType

Types, like unit, list, etc

MPTRemoved

Removed primitives: CREATE_ACCOUNT, STEPS_TO_QUOTA

MPTConstant

Keyword constant for global constants

Instances

Instances details
Bounded MichelinePrimitiveTag Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

Enum MichelinePrimitiveTag Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

Show MichelinePrimitiveTag Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

Eq MichelinePrimitiveTag Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

Buildable MichelinePrimitiveTag Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

SingKind MichelinePrimitiveTag Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

Associated Types

type Demote MichelinePrimitiveTag = (r :: Type) #

SDecide MichelinePrimitiveTag Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

Methods

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

TestCoercion SingMichelinePrimitiveTag Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

Methods

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

TestEquality SingMichelinePrimitiveTag Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

Methods

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

SingI 'MPTConstant Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

Methods

sing :: Sing 'MPTConstant #

SingI 'MPTInstr Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

Methods

sing :: Sing 'MPTInstr #

SingI 'MPTKeyword Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

Methods

sing :: Sing 'MPTKeyword #

SingI 'MPTRemoved Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

Methods

sing :: Sing 'MPTRemoved #

SingI 'MPTType Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

Methods

sing :: Sing 'MPTType #

SingI 'MPTValue Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

Methods

sing :: Sing 'MPTValue #

Lift MichelinePrimitiveTag Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

type Demote MichelinePrimitiveTag Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

type Sing Source # 
Instance details

Defined in Morley.Micheline.Expression.Internal.MichelinePrimitive

type family MPTInstrSym0 :: MichelinePrimitiveTag where ... Source #

Equations

MPTInstrSym0 = 'MPTInstr 

type family MPTValueSym0 :: MichelinePrimitiveTag where ... Source #

Equations

MPTValueSym0 = 'MPTValue 

type family MPTTypeSym0 :: MichelinePrimitiveTag where ... Source #

Equations

MPTTypeSym0 = 'MPTType 

primClassification :: MichelinePrimitive -> MichelinePrimitiveTag Source #

Classify MichelinePrimitive. This function uses heuristics to avoid writing a giant case match, which means it's potentially partial. This should be fine as it's used with TemplateHaskell, hence if some cases are not covered, the build will fail.