Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Plutarch.Internal.PlutusType
Synopsis
- class PlutusType (a :: PType)
- type PInnermost a = PInnermost' (PInner a) a
- type PCon = PlutusType
- type PMatch = PlutusType
- pcon' :: forall s. PlutusType a => a s -> Term s (PInner a)
- pmatch' :: forall s b. PlutusType a => Term s (PInner a) -> (a s -> Term s b) -> Term s b
- pmatch :: PlutusType a => Term s a -> (a s -> Term s b) -> Term s b
- pcon :: PlutusType a => a s -> Term s a
- type family PInner a :: PType
- class (forall t. PVariant'' t => PVariant'' (a t)) => PVariant a
- class (forall t. PCovariant'' t => PCovariant'' (a t)) => PCovariant a
- class (forall t. PCovariant'' t => PContravariant'' (a t)) => PContravariant a
- type family PVariant' a :: Constraint
- type family PCovariant' a :: Constraint
- type family PContravariant' a :: Constraint
- class PVariant' a => PVariant'' a
- class PCovariant' a => PCovariant'' a
- class PContravariant' a => PContravariant'' a
- newtype DeriveNewtypePlutusType (a :: S -> Type) s = DeriveNewtypePlutusType {
- unDeriveNewtypePlutusType :: a s
- newtype DeriveFakePlutusType (a :: S -> Type) (s :: S) = DeriveFakePlutusType (a s)
Documentation
class PlutusType (a :: PType) Source #
Instances
type PInnermost a = PInnermost' (PInner a) a Source #
type PCon = PlutusType Source #
Deprecated: Use PlutusType
type PMatch = PlutusType Source #
Deprecated: Use PlutusType
pmatch :: PlutusType a => Term s a -> (a s -> Term s b) -> Term s b Source #
Pattern match over Plutarch Terms via a Haskell datatype
pcon :: PlutusType a => a s -> Term s a Source #
Construct a Plutarch Term via a Haskell datatype
type family PInner a :: PType Source #
Instances
class (forall t. PVariant'' t => PVariant'' (a t)) => PVariant a Source #
Instances
(forall (t :: PType). PVariant'' t => PVariant'' (a t)) => PVariant a Source # | |
Defined in Plutarch.Internal.PlutusType |
class (forall t. PCovariant'' t => PCovariant'' (a t)) => PCovariant a Source #
Instances
(forall (t :: PType). PCovariant'' t => PCovariant'' (a t)) => PCovariant a Source # | |
Defined in Plutarch.Internal.PlutusType |
class (forall t. PCovariant'' t => PContravariant'' (a t)) => PContravariant a Source #
Instances
(forall (t :: PType). PCovariant'' t => PContravariant'' (a t)) => PContravariant a Source # | |
Defined in Plutarch.Internal.PlutusType |
type family PVariant' a :: Constraint Source #
Instances
type family PCovariant' a :: Constraint Source #
Instances
type family PContravariant' a :: Constraint Source #
Instances
class PVariant' a => PVariant'' a Source #
Instances
PVariant' a => PVariant'' a Source # | |
Defined in Plutarch.Internal.PlutusType |
class PCovariant' a => PCovariant'' a Source #
Instances
PCovariant' a => PCovariant'' a Source # | |
Defined in Plutarch.Internal.PlutusType |
class PContravariant' a => PContravariant'' a Source #
Instances
PContravariant' a => PContravariant'' a Source # | |
Defined in Plutarch.Internal.PlutusType |
newtype DeriveNewtypePlutusType (a :: S -> Type) s Source #
Since: 1.10.0
Constructors
DeriveNewtypePlutusType | |
Fields
|
Instances
newtype DeriveFakePlutusType (a :: S -> Type) (s :: S) Source #
This is a cursed derivation strategy that will give you PlutusType
with no questions asked. This is occasionally helpful
for deriving PlutusType
for another derivation strategy wrapper whose target instance requires PlutusType
as superclass.
See PLiftable
Constructors
DeriveFakePlutusType (a s) |
Instances
PlutusType (DeriveFakePlutusType a) Source # | |
Defined in Plutarch.Internal.PlutusType Associated Types type PInner (DeriveFakePlutusType a) :: PType Source # type PCovariant' (DeriveFakePlutusType a) Source # type PContravariant' (DeriveFakePlutusType a) Source # type PVariant' (DeriveFakePlutusType a) Source # Methods pcon' :: forall (s :: S). DeriveFakePlutusType a s -> Term s (PInner (DeriveFakePlutusType a)) Source # pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (DeriveFakePlutusType a)) -> (DeriveFakePlutusType a s -> Term s b) -> Term s b Source # | |
type PContravariant' (DeriveFakePlutusType a) Source # | |
Defined in Plutarch.Internal.PlutusType | |
type PCovariant' (DeriveFakePlutusType a) Source # | |
Defined in Plutarch.Internal.PlutusType | |
type PInner (DeriveFakePlutusType a) Source # | |
Defined in Plutarch.Internal.PlutusType | |
type PVariant' (DeriveFakePlutusType a) Source # | |
Defined in Plutarch.Internal.PlutusType |