| 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 | |