module Covenant.Internal.Strategy
( DataEncoding (..),
PlutusDataStrategy (..),
InternalStrategy (..),
PlutusDataConstructor (..),
)
where
data DataEncoding
=
SOP
|
PlutusData PlutusDataStrategy
|
BuiltinStrategy InternalStrategy
deriving stock
(
Int -> DataEncoding -> ShowS
[DataEncoding] -> ShowS
DataEncoding -> String
(Int -> DataEncoding -> ShowS)
-> (DataEncoding -> String)
-> ([DataEncoding] -> ShowS)
-> Show DataEncoding
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DataEncoding -> ShowS
showsPrec :: Int -> DataEncoding -> ShowS
$cshow :: DataEncoding -> String
show :: DataEncoding -> String
$cshowList :: [DataEncoding] -> ShowS
showList :: [DataEncoding] -> ShowS
Show,
DataEncoding -> DataEncoding -> Bool
(DataEncoding -> DataEncoding -> Bool)
-> (DataEncoding -> DataEncoding -> Bool) -> Eq DataEncoding
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DataEncoding -> DataEncoding -> Bool
== :: DataEncoding -> DataEncoding -> Bool
$c/= :: DataEncoding -> DataEncoding -> Bool
/= :: DataEncoding -> DataEncoding -> Bool
Eq,
Eq DataEncoding
Eq DataEncoding =>
(DataEncoding -> DataEncoding -> Ordering)
-> (DataEncoding -> DataEncoding -> Bool)
-> (DataEncoding -> DataEncoding -> Bool)
-> (DataEncoding -> DataEncoding -> Bool)
-> (DataEncoding -> DataEncoding -> Bool)
-> (DataEncoding -> DataEncoding -> DataEncoding)
-> (DataEncoding -> DataEncoding -> DataEncoding)
-> Ord DataEncoding
DataEncoding -> DataEncoding -> Bool
DataEncoding -> DataEncoding -> Ordering
DataEncoding -> DataEncoding -> DataEncoding
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: DataEncoding -> DataEncoding -> Ordering
compare :: DataEncoding -> DataEncoding -> Ordering
$c< :: DataEncoding -> DataEncoding -> Bool
< :: DataEncoding -> DataEncoding -> Bool
$c<= :: DataEncoding -> DataEncoding -> Bool
<= :: DataEncoding -> DataEncoding -> Bool
$c> :: DataEncoding -> DataEncoding -> Bool
> :: DataEncoding -> DataEncoding -> Bool
$c>= :: DataEncoding -> DataEncoding -> Bool
>= :: DataEncoding -> DataEncoding -> Bool
$cmax :: DataEncoding -> DataEncoding -> DataEncoding
max :: DataEncoding -> DataEncoding -> DataEncoding
$cmin :: DataEncoding -> DataEncoding -> DataEncoding
min :: DataEncoding -> DataEncoding -> DataEncoding
Ord
)
data PlutusDataStrategy
=
EnumData
|
ProductListData
|
ConstrData
|
NewtypeData
deriving stock
(
Int -> PlutusDataStrategy -> ShowS
[PlutusDataStrategy] -> ShowS
PlutusDataStrategy -> String
(Int -> PlutusDataStrategy -> ShowS)
-> (PlutusDataStrategy -> String)
-> ([PlutusDataStrategy] -> ShowS)
-> Show PlutusDataStrategy
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PlutusDataStrategy -> ShowS
showsPrec :: Int -> PlutusDataStrategy -> ShowS
$cshow :: PlutusDataStrategy -> String
show :: PlutusDataStrategy -> String
$cshowList :: [PlutusDataStrategy] -> ShowS
showList :: [PlutusDataStrategy] -> ShowS
Show,
PlutusDataStrategy -> PlutusDataStrategy -> Bool
(PlutusDataStrategy -> PlutusDataStrategy -> Bool)
-> (PlutusDataStrategy -> PlutusDataStrategy -> Bool)
-> Eq PlutusDataStrategy
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PlutusDataStrategy -> PlutusDataStrategy -> Bool
== :: PlutusDataStrategy -> PlutusDataStrategy -> Bool
$c/= :: PlutusDataStrategy -> PlutusDataStrategy -> Bool
/= :: PlutusDataStrategy -> PlutusDataStrategy -> Bool
Eq,
Eq PlutusDataStrategy
Eq PlutusDataStrategy =>
(PlutusDataStrategy -> PlutusDataStrategy -> Ordering)
-> (PlutusDataStrategy -> PlutusDataStrategy -> Bool)
-> (PlutusDataStrategy -> PlutusDataStrategy -> Bool)
-> (PlutusDataStrategy -> PlutusDataStrategy -> Bool)
-> (PlutusDataStrategy -> PlutusDataStrategy -> Bool)
-> (PlutusDataStrategy -> PlutusDataStrategy -> PlutusDataStrategy)
-> (PlutusDataStrategy -> PlutusDataStrategy -> PlutusDataStrategy)
-> Ord PlutusDataStrategy
PlutusDataStrategy -> PlutusDataStrategy -> Bool
PlutusDataStrategy -> PlutusDataStrategy -> Ordering
PlutusDataStrategy -> PlutusDataStrategy -> PlutusDataStrategy
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: PlutusDataStrategy -> PlutusDataStrategy -> Ordering
compare :: PlutusDataStrategy -> PlutusDataStrategy -> Ordering
$c< :: PlutusDataStrategy -> PlutusDataStrategy -> Bool
< :: PlutusDataStrategy -> PlutusDataStrategy -> Bool
$c<= :: PlutusDataStrategy -> PlutusDataStrategy -> Bool
<= :: PlutusDataStrategy -> PlutusDataStrategy -> Bool
$c> :: PlutusDataStrategy -> PlutusDataStrategy -> Bool
> :: PlutusDataStrategy -> PlutusDataStrategy -> Bool
$c>= :: PlutusDataStrategy -> PlutusDataStrategy -> Bool
>= :: PlutusDataStrategy -> PlutusDataStrategy -> Bool
$cmax :: PlutusDataStrategy -> PlutusDataStrategy -> PlutusDataStrategy
max :: PlutusDataStrategy -> PlutusDataStrategy -> PlutusDataStrategy
$cmin :: PlutusDataStrategy -> PlutusDataStrategy -> PlutusDataStrategy
min :: PlutusDataStrategy -> PlutusDataStrategy -> PlutusDataStrategy
Ord
)
data PlutusDataConstructor
= PlutusI
| PlutusB
| PlutusConstr
| PlutusList
| PlutusMap
deriving stock
(
Int -> PlutusDataConstructor -> ShowS
[PlutusDataConstructor] -> ShowS
PlutusDataConstructor -> String
(Int -> PlutusDataConstructor -> ShowS)
-> (PlutusDataConstructor -> String)
-> ([PlutusDataConstructor] -> ShowS)
-> Show PlutusDataConstructor
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PlutusDataConstructor -> ShowS
showsPrec :: Int -> PlutusDataConstructor -> ShowS
$cshow :: PlutusDataConstructor -> String
show :: PlutusDataConstructor -> String
$cshowList :: [PlutusDataConstructor] -> ShowS
showList :: [PlutusDataConstructor] -> ShowS
Show,
PlutusDataConstructor -> PlutusDataConstructor -> Bool
(PlutusDataConstructor -> PlutusDataConstructor -> Bool)
-> (PlutusDataConstructor -> PlutusDataConstructor -> Bool)
-> Eq PlutusDataConstructor
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PlutusDataConstructor -> PlutusDataConstructor -> Bool
== :: PlutusDataConstructor -> PlutusDataConstructor -> Bool
$c/= :: PlutusDataConstructor -> PlutusDataConstructor -> Bool
/= :: PlutusDataConstructor -> PlutusDataConstructor -> Bool
Eq,
Eq PlutusDataConstructor
Eq PlutusDataConstructor =>
(PlutusDataConstructor -> PlutusDataConstructor -> Ordering)
-> (PlutusDataConstructor -> PlutusDataConstructor -> Bool)
-> (PlutusDataConstructor -> PlutusDataConstructor -> Bool)
-> (PlutusDataConstructor -> PlutusDataConstructor -> Bool)
-> (PlutusDataConstructor -> PlutusDataConstructor -> Bool)
-> (PlutusDataConstructor
-> PlutusDataConstructor -> PlutusDataConstructor)
-> (PlutusDataConstructor
-> PlutusDataConstructor -> PlutusDataConstructor)
-> Ord PlutusDataConstructor
PlutusDataConstructor -> PlutusDataConstructor -> Bool
PlutusDataConstructor -> PlutusDataConstructor -> Ordering
PlutusDataConstructor
-> PlutusDataConstructor -> PlutusDataConstructor
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: PlutusDataConstructor -> PlutusDataConstructor -> Ordering
compare :: PlutusDataConstructor -> PlutusDataConstructor -> Ordering
$c< :: PlutusDataConstructor -> PlutusDataConstructor -> Bool
< :: PlutusDataConstructor -> PlutusDataConstructor -> Bool
$c<= :: PlutusDataConstructor -> PlutusDataConstructor -> Bool
<= :: PlutusDataConstructor -> PlutusDataConstructor -> Bool
$c> :: PlutusDataConstructor -> PlutusDataConstructor -> Bool
> :: PlutusDataConstructor -> PlutusDataConstructor -> Bool
$c>= :: PlutusDataConstructor -> PlutusDataConstructor -> Bool
>= :: PlutusDataConstructor -> PlutusDataConstructor -> Bool
$cmax :: PlutusDataConstructor
-> PlutusDataConstructor -> PlutusDataConstructor
max :: PlutusDataConstructor
-> PlutusDataConstructor -> PlutusDataConstructor
$cmin :: PlutusDataConstructor
-> PlutusDataConstructor -> PlutusDataConstructor
min :: PlutusDataConstructor
-> PlutusDataConstructor -> PlutusDataConstructor
Ord
)
data InternalStrategy
= InternalListStrat
| InternalPairStrat
| InternalDataStrat
| InternalAssocMapStrat
|
InternalOpaqueStrat
deriving stock
( Int -> InternalStrategy -> ShowS
[InternalStrategy] -> ShowS
InternalStrategy -> String
(Int -> InternalStrategy -> ShowS)
-> (InternalStrategy -> String)
-> ([InternalStrategy] -> ShowS)
-> Show InternalStrategy
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> InternalStrategy -> ShowS
showsPrec :: Int -> InternalStrategy -> ShowS
$cshow :: InternalStrategy -> String
show :: InternalStrategy -> String
$cshowList :: [InternalStrategy] -> ShowS
showList :: [InternalStrategy] -> ShowS
Show,
InternalStrategy -> InternalStrategy -> Bool
(InternalStrategy -> InternalStrategy -> Bool)
-> (InternalStrategy -> InternalStrategy -> Bool)
-> Eq InternalStrategy
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: InternalStrategy -> InternalStrategy -> Bool
== :: InternalStrategy -> InternalStrategy -> Bool
$c/= :: InternalStrategy -> InternalStrategy -> Bool
/= :: InternalStrategy -> InternalStrategy -> Bool
Eq,
Eq InternalStrategy
Eq InternalStrategy =>
(InternalStrategy -> InternalStrategy -> Ordering)
-> (InternalStrategy -> InternalStrategy -> Bool)
-> (InternalStrategy -> InternalStrategy -> Bool)
-> (InternalStrategy -> InternalStrategy -> Bool)
-> (InternalStrategy -> InternalStrategy -> Bool)
-> (InternalStrategy -> InternalStrategy -> InternalStrategy)
-> (InternalStrategy -> InternalStrategy -> InternalStrategy)
-> Ord InternalStrategy
InternalStrategy -> InternalStrategy -> Bool
InternalStrategy -> InternalStrategy -> Ordering
InternalStrategy -> InternalStrategy -> InternalStrategy
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: InternalStrategy -> InternalStrategy -> Ordering
compare :: InternalStrategy -> InternalStrategy -> Ordering
$c< :: InternalStrategy -> InternalStrategy -> Bool
< :: InternalStrategy -> InternalStrategy -> Bool
$c<= :: InternalStrategy -> InternalStrategy -> Bool
<= :: InternalStrategy -> InternalStrategy -> Bool
$c> :: InternalStrategy -> InternalStrategy -> Bool
> :: InternalStrategy -> InternalStrategy -> Bool
$c>= :: InternalStrategy -> InternalStrategy -> Bool
>= :: InternalStrategy -> InternalStrategy -> Bool
$cmax :: InternalStrategy -> InternalStrategy -> InternalStrategy
max :: InternalStrategy -> InternalStrategy -> InternalStrategy
$cmin :: InternalStrategy -> InternalStrategy -> InternalStrategy
min :: InternalStrategy -> InternalStrategy -> InternalStrategy
Ord
)