| Safe Haskell | Safe-Inferred |
|---|---|
| Language | GHC2021 |
Plutarch.Builtin.Data
Synopsis
- newtype PData (s :: S) = PData (Term s PData)
- newtype PAsData (a :: S -> Type) (s :: S) = PAsData (Term s a)
- pchooseData :: Term s (PData :--> (a :--> (a :--> (a :--> (a :--> (a :--> a))))))
- pasConstr :: Term s (PData :--> PBuiltinPair PInteger (PBuiltinList PData))
- pasMap :: Term s (PData :--> PBuiltinList (PBuiltinPair PData PData))
- plistData :: Term s (PBuiltinList PData :--> PData)
- pasList :: Term s (PData :--> PBuiltinList PData)
- pasInt :: Term s (PData :--> PInteger)
- pasByteStr :: Term s (PData :--> PByteString)
- pserialiseData :: Term s (PData :--> PByteString)
- pconstrBuiltin :: Term s (PInteger :--> (PBuiltinList PData :--> PAsData (PBuiltinPair PInteger (PBuiltinList PData))))
- data PBuiltinPair (a :: S -> Type) (b :: S -> Type) (s :: S) = PBuiltinPair (Term s a) (Term s b)
- pfstBuiltin :: Term s (PBuiltinPair a b :--> a)
- psndBuiltin :: Term s (PBuiltinPair a b :--> b)
- ppairDataBuiltin :: Term s (PAsData a :--> (PAsData b :--> PBuiltinPair (PAsData a) (PAsData b)))
- data PBuiltinList (a :: S -> Type) (s :: S)
- = PCons (Term s a) (Term s (PBuiltinList a))
- | PNil
- pheadBuiltin :: Term s (PBuiltinList a :--> a)
- ptailBuiltin :: Term s (PBuiltinList a :--> PBuiltinList a)
- pheadTailBuiltin :: forall (a :: S -> Type) (b :: S -> Type) (s :: S). Term s (PBuiltinList a) -> (Term s a -> Term s (PBuiltinList a) -> Term s b) -> Term s b
- pchooseListBuiltin :: Term s (PBuiltinList a :--> (b :--> (b :--> b)))
- pnullBuiltin :: Term s (PBuiltinList a :--> PBool)
- pconsBuiltin :: Term s (a :--> (PBuiltinList a :--> PBuiltinList a))
Documentation
newtype PData (s :: S) Source #
Instances
newtype PAsData (a :: S -> Type) (s :: S) Source #
Instances
pasConstr :: Term s (PData :--> PBuiltinPair PInteger (PBuiltinList PData)) Source #
pasMap :: Term s (PData :--> PBuiltinList (PBuiltinPair PData PData)) Source #
pasByteStr :: Term s (PData :--> PByteString) Source #
pserialiseData :: Term s (PData :--> PByteString) Source #
Serialise any builtin data to its cbor represented by a builtin bytestring
pconstrBuiltin :: Term s (PInteger :--> (PBuiltinList PData :--> PAsData (PBuiltinPair PInteger (PBuiltinList PData)))) Source #
data PBuiltinPair (a :: S -> Type) (b :: S -> Type) (s :: S) Source #
A builtin Plutus pair.
Since: 1.12.0
Constructors
| PBuiltinPair (Term s a) (Term s b) |
Instances
| (PTryFrom PData a, a ~ PAsData a', PIsData a', PTryFrom PData b, b ~ PAsData b', PIsData b') => PTryFrom PData (PAsData (PBuiltinPair a b)) Source # | Recover a `PAsData (PBuiltinPair a b)` |
Defined in Plutarch.Internal.TryFrom Associated Types type PTryFromExcess PData (PAsData (PBuiltinPair a b)) :: S -> Type Source # | |
| (PValidateData a, PValidateData b) => PValidateData (PBuiltinList (PBuiltinPair (PAsData a) (PAsData b))) Source # | Checks that we have a Since: 1.13.0 |
| (PEq a, PEq b) => PEq (PBuiltinPair a b) Source # | |
Defined in Plutarch.Internal.Eq Methods (#==) :: forall (s :: S). Term s (PBuiltinPair a b) -> Term s (PBuiltinPair a b) -> Term s PBool Source # | |
| PIsData (PBuiltinPair (PAsData a) (PAsData b)) Source # | |
Defined in Plutarch.Internal.IsData | |
| PIsData (PBuiltinPair PData PData) Source # | |
Defined in Plutarch.Internal.IsData | |
| PIsData (PBuiltinPair PInteger (PBuiltinList PData)) Source # | |
Defined in Plutarch.Internal.IsData Methods pfromDataImpl :: forall (s :: S). Term s (PAsData (PBuiltinPair PInteger (PBuiltinList PData))) -> Term s (PBuiltinPair PInteger (PBuiltinList PData)) Source # pdataImpl :: forall (s :: S). Term s (PBuiltinPair PInteger (PBuiltinList PData)) -> Term s PData Source # | |
| (PLiftable a, Includes DefaultUni (PlutusRepr a), KnownBuiltinType (Term DeBruijn DefaultUni DefaultFun ()) (PlutusRepr a), PLiftable b, Includes DefaultUni (PlutusRepr b), KnownBuiltinType (Term DeBruijn DefaultUni DefaultFun ()) (PlutusRepr b)) => PLiftable (PBuiltinPair a b) Source # | Since: 1.13.0 |
Defined in Plutarch.Internal.Lift Associated Types type AsHaskell (PBuiltinPair a b) Source # type PlutusRepr (PBuiltinPair a b) Source # Methods haskToRepr :: AsHaskell (PBuiltinPair a b) -> PlutusRepr (PBuiltinPair a b) Source # reprToHask :: PlutusRepr (PBuiltinPair a b) -> Either LiftError (AsHaskell (PBuiltinPair a b)) Source # reprToPlut :: forall (s :: S). PlutusRepr (PBuiltinPair a b) -> PLifted s (PBuiltinPair a b) Source # plutToRepr :: (forall (s :: S). PLifted s (PBuiltinPair a b)) -> Either LiftError (PlutusRepr (PBuiltinPair a b)) Source # | |
| (PValidateData a, PValidateData b) => PValidateData (PBuiltinPair (PAsData a) (PAsData b)) Source # | Checks that we have a Since: 1.12.0 |
| PValidateData (PBuiltinPair PData PData) Source # | Checks that we have a Since: 1.12.0 |
| PlutusType (PBuiltinPair a b) Source # | Important noteDue to some weirdnesses regarding builtins, Since: 1.12.0 |
Defined in Plutarch.Internal.PlutusType Methods pcon' :: forall (s :: S). PBuiltinPair a b s -> Term s (PInner (PBuiltinPair a b)) Source # pmatch' :: forall (s :: S) (b0 :: S -> Type). Term s (PInner (PBuiltinPair a b)) -> (PBuiltinPair a b s -> Term s b0) -> Term s b0 Source # | |
| (PShow a, PShow b) => PShow (PBuiltinPair a b) Source # | |
Defined in Plutarch.Internal.Show | |
| type PTryFromExcess PData (PAsData (PBuiltinPair a b)) Source # | |
Defined in Plutarch.Internal.TryFrom | |
| type AsHaskell (PBuiltinPair a b) Source # | |
Defined in Plutarch.Internal.Lift | |
| type PlutusRepr (PBuiltinPair a b) Source # | |
Defined in Plutarch.Internal.Lift | |
| type PInner (PBuiltinPair a b) Source # | |
Defined in Plutarch.Internal.PlutusType | |
pfstBuiltin :: Term s (PBuiltinPair a b :--> a) Source #
Deprecated: Use pmatch instead
psndBuiltin :: Term s (PBuiltinPair a b :--> b) Source #
Deprecated: Use pmatch instead
ppairDataBuiltin :: Term s (PAsData a :--> (PAsData b :--> PBuiltinPair (PAsData a) (PAsData b))) Source #
data PBuiltinList (a :: S -> Type) (s :: S) Source #
Plutus BuiltinList
Constructors
| PCons (Term s a) (Term s (PBuiltinList a)) | |
| PNil |
Instances
pheadBuiltin :: Term s (PBuiltinList a :--> a) Source #
ptailBuiltin :: Term s (PBuiltinList a :--> PBuiltinList a) Source #
pheadTailBuiltin :: forall (a :: S -> Type) (b :: S -> Type) (s :: S). Term s (PBuiltinList a) -> (Term s a -> Term s (PBuiltinList a) -> Term s b) -> Term s b Source #
Use this in preference to pheadBuiltin and ptailBuiltin on the same
PBuiltinList, as this will be faster. This is also faster than a pmatch,
as the PNil case is omitted.
Since: 1.13.0
pchooseListBuiltin :: Term s (PBuiltinList a :--> (b :--> (b :--> b))) Source #
pnullBuiltin :: Term s (PBuiltinList a :--> PBool) Source #
pconsBuiltin :: Term s (a :--> (PBuiltinList a :--> PBuiltinList a)) Source #