plutarch-1.10.1
Safe HaskellSafe-Inferred
LanguageGHC2021

Plutarch.Internal.PlutusType

Synopsis

Documentation

class PlutusType (a :: PType) Source #

Minimal complete definition

pcon', pmatch'

Instances

Instances details
PlutusType PBitString Source # 
Instance details

Defined in Plutarch.BitString

Methods

pcon' :: forall (s :: S). PBitString s -> Term s (PInner PBitString) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner PBitString) -> (PBitString s -> Term s b) -> Term s b Source #

PlutusType PBuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

PlutusType PBuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

PlutusType PBuiltinBLS12_381_MlResult Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

PlutusType PBool Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Internal.PlutusType

Methods

pcon' :: forall (s :: S). PBool s -> Term s (PInner PBool) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner PBool) -> (PBool s -> Term s b) -> Term s b Source #

PlutusType PByte Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

Methods

pcon' :: forall (s :: S). PByte s -> Term s (PInner PByte) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner PByte) -> (PByte s -> Term s b) -> Term s b Source #

PlutusType PByteString Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

Methods

pcon' :: forall (s :: S). PByteString s -> Term s (PInner PByteString) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner PByteString) -> (PByteString s -> Term s b) -> Term s b Source #

PlutusType PEndianness Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

Methods

pcon' :: forall (s :: S). PEndianness s -> Term s (PInner PEndianness) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner PEndianness) -> (PEndianness s -> Term s b) -> Term s b Source #

PlutusType PLogicOpSemantics Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

Methods

pcon' :: forall (s :: S). PLogicOpSemantics s -> Term s (PInner PLogicOpSemantics) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner PLogicOpSemantics) -> (PLogicOpSemantics s -> Term s b) -> Term s b Source #

PlutusType PData Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

Methods

pcon' :: forall (s :: S). PData s -> Term s (PInner PData) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner PData) -> (PData s -> Term s b) -> Term s b Source #

PlutusType PInteger Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

Methods

pcon' :: forall (s :: S). PInteger s -> Term s (PInner PInteger) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner PInteger) -> (PInteger s -> Term s b) -> Term s b Source #

PlutusType POpaque Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

Methods

pcon' :: forall (s :: S). POpaque s -> Term s (PInner POpaque) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner POpaque) -> (POpaque s -> Term s b) -> Term s b Source #

PlutusType PString Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

Methods

pcon' :: forall (s :: S). PString s -> Term s (PInner PString) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner PString) -> (PString s -> Term s b) -> Term s b Source #

PlutusType PUnit Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

Methods

pcon' :: forall (s :: S). PUnit s -> Term s (PInner PUnit) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner PUnit) -> (PUnit s -> Term s b) -> Term s b Source #

PlutusType PNatural Source # 
Instance details

Defined in Plutarch.Internal.Numeric

Methods

pcon' :: forall (s :: S). PNatural s -> Term s (PInner PNatural) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner PNatural) -> (PNatural s -> Term s b) -> Term s b Source #

PlutusType PPositive Source # 
Instance details

Defined in Plutarch.Internal.Numeric

Methods

pcon' :: forall (s :: S). PPositive s -> Term s (PInner PPositive) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner PPositive) -> (PPositive s -> Term s b) -> Term s b Source #

PlutusType PRational Source # 
Instance details

Defined in Plutarch.Rational

Methods

pcon' :: forall (s :: S). PRational s -> Term s (PInner PRational) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner PRational) -> (PRational s -> Term s b) -> Term s b Source #

PlutusType (PDataNewtype a) Source #

Since: 1.7.0

Instance details

Defined in Plutarch.Builtin

Methods

pcon' :: forall (s :: S). PDataNewtype a s -> Term s (PInner (PDataNewtype a)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (PDataNewtype a)) -> (PDataNewtype a s -> Term s b) -> Term s b Source #

PIsData a => PlutusType (PAsData a) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

Associated Types

type PInner (PAsData a) :: PType Source #

type PCovariant' (PAsData a) Source #

type PContravariant' (PAsData a) Source #

type PVariant' (PAsData a) Source #

Methods

pcon' :: forall (s :: S). PAsData a s -> Term s (PInner (PAsData a)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (PAsData a)) -> (PAsData a s -> Term s b) -> Term s b Source #

Contains DefaultUni (PlutusRepr a) => PlutusType (PBuiltinList a) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

Methods

pcon' :: forall (s :: S). PBuiltinList a s -> Term s (PInner (PBuiltinList a)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (PBuiltinList a)) -> (PBuiltinList a s -> Term s b) -> Term s b Source #

PlutusType (DeriveFakePlutusType a) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

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 #

(pt ~ UnTermSingle (Head (Head (Code (a (Any :: S))))), forall (s :: S). H s a pt) => PlutusType (DeriveNewtypePlutusType a) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

Methods

pcon' :: forall (s :: S). DeriveNewtypePlutusType a s -> Term s (PInner (DeriveNewtypePlutusType a)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (DeriveNewtypePlutusType a)) -> (DeriveNewtypePlutusType a s -> Term s b) -> Term s b Source #

PlutusType (PAnd a) Source # 
Instance details

Defined in Plutarch.Internal.Semigroup

Associated Types

type PInner (PAnd a) :: PType Source #

type PCovariant' (PAnd a) Source #

type PContravariant' (PAnd a) Source #

type PVariant' (PAnd a) Source #

Methods

pcon' :: forall (s :: S). PAnd a s -> Term s (PInner (PAnd a)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (PAnd a)) -> (PAnd a s -> Term s b) -> Term s b Source #

PlutusType (POr a) Source # 
Instance details

Defined in Plutarch.Internal.Semigroup

Associated Types

type PInner (POr a) :: PType Source #

type PCovariant' (POr a) Source #

type PContravariant' (POr a) Source #

type PVariant' (POr a) Source #

Methods

pcon' :: forall (s :: S). POr a s -> Term s (PInner (POr a)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (POr a)) -> (POr a s -> Term s b) -> Term s b Source #

PlutusType (PXor a) Source # 
Instance details

Defined in Plutarch.Internal.Semigroup

Associated Types

type PInner (PXor a) :: PType Source #

type PCovariant' (PXor a) Source #

type PContravariant' (PXor a) Source #

type PVariant' (PXor a) Source #

Methods

pcon' :: forall (s :: S). PXor a s -> Term s (PInner (PXor a)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (PXor a)) -> (PXor a s -> Term s b) -> Term s b Source #

PlutusType (PList a) Source # 
Instance details

Defined in Plutarch.List

Associated Types

type PInner (PList a) :: PType Source #

type PCovariant' (PList a) Source #

type PContravariant' (PList a) Source #

type PVariant' (PList a) Source #

Methods

pcon' :: forall (s :: S). PList a s -> Term s (PInner (PList a)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (PList a)) -> (PList a s -> Term s b) -> Term s b Source #

PlutusType (PMaybe a) Source # 
Instance details

Defined in Plutarch.Maybe

Associated Types

type PInner (PMaybe a) :: PType Source #

type PCovariant' (PMaybe a) Source #

type PContravariant' (PMaybe a) Source #

type PVariant' (PMaybe a) Source #

Methods

pcon' :: forall (s :: S). PMaybe a s -> Term s (PInner (PMaybe a)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (PMaybe a)) -> (PMaybe a s -> Term s b) -> Term s b Source #

(Generic (a (Any :: S)), '[struct'] ~ Code (a (Any :: S)), struct ~ UnTermRec struct', All PInnermostIsDataDataRepr struct, SListI struct, forall (s :: S). StructSameRepr s a '[struct], RecTypePrettyError (Code (a (Any :: S)))) => PlutusType (DeriveAsDataRec a) Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Repr.Data

Methods

pcon' :: forall (s :: S). DeriveAsDataRec a s -> Term s (PInner (DeriveAsDataRec a)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (DeriveAsDataRec a)) -> (DeriveAsDataRec a s -> Term s b) -> Term s b Source #

(Generic (a (Any :: S)), struct ~ UnTermStruct (a (Any :: S)), All2 PInnermostIsDataDataRepr struct, SListI2 struct, forall (s :: S). StructSameRepr s a struct) => PlutusType (DeriveAsDataStruct a) Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Repr.Data

Methods

pcon' :: forall (s :: S). DeriveAsDataStruct a s -> Term s (PInner (DeriveAsDataStruct a)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (DeriveAsDataStruct a)) -> (DeriveAsDataStruct a s -> Term s b) -> Term s b Source #

(SListI struct, All PInnermostIsDataDataRepr struct) => PlutusType (PDataRec struct) Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Repr.Data

Associated Types

type PInner (PDataRec struct) :: PType Source #

type PCovariant' (PDataRec struct) Source #

type PContravariant' (PDataRec struct) Source #

type PVariant' (PDataRec struct) Source #

Methods

pcon' :: forall (s :: S). PDataRec struct s -> Term s (PInner (PDataRec struct)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (PDataRec struct)) -> (PDataRec struct s -> Term s b) -> Term s b Source #

(SListI2 struct, All2 PInnermostIsDataDataRepr struct) => PlutusType (PDataStruct struct) Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Repr.Data

Associated Types

type PInner (PDataStruct struct) :: PType Source #

type PCovariant' (PDataStruct struct) Source #

type PContravariant' (PDataStruct struct) Source #

type PVariant' (PDataStruct struct) Source #

Methods

pcon' :: forall (s :: S). PDataStruct struct s -> Term s (PInner (PDataStruct struct)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (PDataStruct struct)) -> (PDataStruct struct s -> Term s b) -> Term s b Source #

(pt ~ UnTermSingle (Head (Head (Code (a (Any :: S))))), forall (s :: S). H s a pt) => PlutusType (DeriveNewtypePlutusType a) Source # 
Instance details

Defined in Plutarch.Repr.Newtype

Methods

pcon' :: forall (s :: S). DeriveNewtypePlutusType a s -> Term s (PInner (DeriveNewtypePlutusType a)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (DeriveNewtypePlutusType a)) -> (DeriveNewtypePlutusType a s -> Term s b) -> Term s b Source #

(Generic (a (Any :: S)), '[struct'] ~ Code (a (Any :: S)), struct ~ UnTermRec struct', SListI struct, forall (s :: S). StructSameRepr s a '[struct], RecTypePrettyError (Code (a (Any :: S)))) => PlutusType (DeriveAsSOPRec a) Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Repr.SOP

Methods

pcon' :: forall (s :: S). DeriveAsSOPRec a s -> Term s (PInner (DeriveAsSOPRec a)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (DeriveAsSOPRec a)) -> (DeriveAsSOPRec a s -> Term s b) -> Term s b Source #

(Generic (a (Any :: S)), struct ~ UnTermStruct (a (Any :: S)), SListI2 struct, forall (s :: S). StructSameRepr s a struct, PSOPStructConstraint struct) => PlutusType (DeriveAsSOPStruct a) Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Repr.SOP

Methods

pcon' :: forall (s :: S). DeriveAsSOPStruct a s -> Term s (PInner (DeriveAsSOPStruct a)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (DeriveAsSOPStruct a)) -> (DeriveAsSOPStruct a s -> Term s b) -> Term s b Source #

SListI struct => PlutusType (PSOPRec struct) Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Repr.SOP

Associated Types

type PInner (PSOPRec struct) :: PType Source #

type PCovariant' (PSOPRec struct) Source #

type PContravariant' (PSOPRec struct) Source #

type PVariant' (PSOPRec struct) Source #

Methods

pcon' :: forall (s :: S). PSOPRec struct s -> Term s (PInner (PSOPRec struct)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (PSOPRec struct)) -> (PSOPRec struct s -> Term s b) -> Term s b Source #

(SListI2 struct, PSOPStructConstraint struct) => PlutusType (PSOPStruct struct) Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Repr.SOP

Associated Types

type PInner (PSOPStruct struct) :: PType Source #

type PCovariant' (PSOPStruct struct) Source #

type PContravariant' (PSOPStruct struct) Source #

type PVariant' (PSOPStruct struct) Source #

Methods

pcon' :: forall (s :: S). PSOPStruct struct s -> Term s (PInner (PSOPStruct struct)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (PSOPStruct struct)) -> (PSOPStruct struct s -> Term s b) -> Term s b Source #

(Generic (a (Any :: S)), '[struct'] ~ Code (a (Any :: S)), struct ~ UnTermRec struct', SListI struct, forall (s :: S). StructSameRepr s a '[struct], RecTypePrettyError (Code (a (Any :: S)))) => PlutusType (DeriveAsScottRec a) Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Repr.Scott

Methods

pcon' :: forall (s :: S). DeriveAsScottRec a s -> Term s (PInner (DeriveAsScottRec a)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (DeriveAsScottRec a)) -> (DeriveAsScottRec a s -> Term s b) -> Term s b Source #

(Generic (a (Any :: S)), struct ~ UnTermStruct (a (Any :: S)), SListI2 struct, forall (s :: S). StructSameRepr s a struct, PScottStructConstraint struct) => PlutusType (DeriveAsScottStruct a) Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Repr.Scott

Methods

pcon' :: forall (s :: S). DeriveAsScottStruct a s -> Term s (PInner (DeriveAsScottStruct a)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (DeriveAsScottStruct a)) -> (DeriveAsScottStruct a s -> Term s b) -> Term s b Source #

SListI struct => PlutusType (PScottRec struct) Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Repr.Scott

Associated Types

type PInner (PScottRec struct) :: PType Source #

type PCovariant' (PScottRec struct) Source #

type PContravariant' (PScottRec struct) Source #

type PVariant' (PScottRec struct) Source #

Methods

pcon' :: forall (s :: S). PScottRec struct s -> Term s (PInner (PScottRec struct)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (PScottRec struct)) -> (PScottRec struct s -> Term s b) -> Term s b Source #

(SListI2 struct, PScottStructConstraint struct) => PlutusType (PScottStruct struct) Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Repr.Scott

Associated Types

type PInner (PScottStruct struct) :: PType Source #

type PCovariant' (PScottStruct struct) Source #

type PContravariant' (PScottStruct struct) Source #

type PVariant' (PScottStruct struct) Source #

Methods

pcon' :: forall (s :: S). PScottStruct struct s -> Term s (PInner (PScottStruct struct)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (PScottStruct struct)) -> (PScottStruct struct s -> Term s b) -> Term s b Source #

(forall (s :: S). TagTypeConstraints s a struct) => PlutusType (DeriveAsTag a) Source #

This derives tag-only PlutusType automatically. Resulted instances will use PInteger as underlying type, making this much more efficient than using regular DataScottSOP based encoding. As name suggests, types with no-argument constructors can use this.

Example: @@ data PFoo s = A | B | C | D | E deriving stock (GHC.Generic, Show) deriving anyclass (PEq, PIsData) deriving (PlutusType, PLiftable) via DeriveAsTag PFoo

instance SOP.Generic (PFoo s) @@

Since: 1.10.0

Instance details

Defined in Plutarch.Repr.Tag

Methods

pcon' :: forall (s :: S). DeriveAsTag a s -> Term s (PInner (DeriveAsTag a)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (DeriveAsTag a)) -> (DeriveAsTag a s -> Term s b) -> Term s b Source #

PlutusType (PTag struct) Source # 
Instance details

Defined in Plutarch.Repr.Tag

Associated Types

type PInner (PTag struct) :: PType Source #

type PCovariant' (PTag struct) Source #

type PContravariant' (PTag struct) Source #

type PVariant' (PTag struct) Source #

Methods

pcon' :: forall (s :: S). PTag struct s -> Term s (PInner (PTag struct)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (PTag struct)) -> (PTag struct s -> Term s b) -> Term s b Source #

PlutusType (PBuiltinPair a b) Source # 
Instance details

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 :: PType). Term s (PInner (PBuiltinPair a b)) -> (PBuiltinPair a b s -> Term s b0) -> Term s b0 Source #

PlutusType (PEither a b) Source # 
Instance details

Defined in Plutarch.Either

Associated Types

type PInner (PEither a b) :: PType Source #

type PCovariant' (PEither a b) Source #

type PContravariant' (PEither a b) Source #

type PVariant' (PEither a b) Source #

Methods

pcon' :: forall (s :: S). PEither a b s -> Term s (PInner (PEither a b)) Source #

pmatch' :: forall (s :: S) (b0 :: PType). Term s (PInner (PEither a b)) -> (PEither a b s -> Term s b0) -> Term s b0 Source #

PlutusType (PEitherData a b) Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Either

Methods

pcon' :: forall (s :: S). PEitherData a b s -> Term s (PInner (PEitherData a b)) Source #

pmatch' :: forall (s :: S) (b0 :: PType). Term s (PInner (PEitherData a b)) -> (PEitherData a b s -> Term s b0) -> Term s b0 Source #

PlutusType (DeriveBuiltinPLiftable a h) Source # 
Instance details

Defined in Plutarch.Internal.Lift

Methods

pcon' :: forall (s :: S). DeriveBuiltinPLiftable a h s -> Term s (PInner (DeriveBuiltinPLiftable a h)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (DeriveBuiltinPLiftable a h)) -> (DeriveBuiltinPLiftable a h s -> Term s b) -> Term s b Source #

PlutusType (DeriveDataPLiftable a h) Source # 
Instance details

Defined in Plutarch.Internal.Lift

Methods

pcon' :: forall (s :: S). DeriveDataPLiftable a h s -> Term s (PInner (DeriveDataPLiftable a h)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (DeriveDataPLiftable a h)) -> (DeriveDataPLiftable a h s -> Term s b) -> Term s b Source #

PlutusType (DeriveNewtypePLiftable wrapper h) Source # 
Instance details

Defined in Plutarch.Internal.Lift

Methods

pcon' :: forall (s :: S). DeriveNewtypePLiftable wrapper h s -> Term s (PInner (DeriveNewtypePLiftable wrapper h)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (DeriveNewtypePLiftable wrapper h)) -> (DeriveNewtypePLiftable wrapper h s -> Term s b) -> Term s b Source #

PlutusType (PForall f) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

Associated Types

type PInner (PForall f) :: PType Source #

type PCovariant' (PForall f) Source #

type PContravariant' (PForall f) Source #

type PVariant' (PForall f) Source #

Methods

pcon' :: forall (s :: S). PForall f s -> Term s (PInner (PForall f)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (PForall f)) -> (PForall f s -> Term s b) -> Term s b Source #

PlutusType (a :--> b) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

Associated Types

type PInner (a :--> b) :: PType Source #

type PCovariant' (a :--> b) Source #

type PContravariant' (a :--> b) Source #

type PVariant' (a :--> b) Source #

Methods

pcon' :: forall (s :: S). (a :--> b) s -> Term s (PInner (a :--> b)) Source #

pmatch' :: forall (s :: S) (b0 :: PType). Term s (PInner (a :--> b)) -> ((a :--> b) s -> Term s b0) -> Term s b0 Source #

PlutusType (PPair a b) Source # 
Instance details

Defined in Plutarch.Pair

Associated Types

type PInner (PPair a b) :: PType Source #

type PCovariant' (PPair a b) Source #

type PContravariant' (PPair a b) Source #

type PVariant' (PPair a b) Source #

Methods

pcon' :: forall (s :: S). PPair a b s -> Term s (PInner (PPair a b)) Source #

pmatch' :: forall (s :: S) (b0 :: PType). Term s (PInner (PPair a b)) -> (PPair a b s -> Term s b0) -> Term s b0 Source #

PlutusType (DerivePLiftableAsRepr wrapper h) Source # 
Instance details

Defined in Plutarch.Repr.Derive

Methods

pcon' :: forall (s :: S). DerivePLiftableAsRepr wrapper h s -> Term s (PInner (DerivePLiftableAsRepr wrapper h)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (DerivePLiftableAsRepr wrapper h)) -> (DerivePLiftableAsRepr wrapper h s -> Term s b) -> Term s b Source #

type PInnermost a = PInnermost' (PInner a) a Source #

type PCon = PlutusType Source #

Deprecated: Use PlutusType

type PMatch = PlutusType Source #

Deprecated: Use PlutusType

pcon' :: forall s. PlutusType a => a s -> Term s (PInner a) Source #

pmatch' :: forall s b. PlutusType a => Term s (PInner a) -> (a s -> Term s b) -> Term s b Source #

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

Instances details
type PInner PBitString Source #

Since: 1.10.0

Instance details

Defined in Plutarch.BitString

type PInner PBuiltinBLS12_381_G1_Element Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Internal.PlutusType

type PInner PBuiltinBLS12_381_G2_Element Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Internal.PlutusType

type PInner PBuiltinBLS12_381_MlResult Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Internal.PlutusType

type PInner PBool Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PInner PByte Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Internal.PlutusType

type PInner PByteString Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Internal.PlutusType

type PInner PEndianness Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Internal.PlutusType

type PInner PLogicOpSemantics Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Internal.PlutusType

type PInner PData Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PInner PInteger Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PInner POpaque Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PInner PString Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Internal.PlutusType

type PInner PUnit Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PInner PNatural Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Internal.Numeric

type PInner PPositive Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Internal.Numeric

type PInner PRational Source # 
Instance details

Defined in Plutarch.Rational

type PInner (PDataNewtype a) Source # 
Instance details

Defined in Plutarch.Builtin

type PInner (PAsData a) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PInner (PAsData a) = PData
type PInner (PBuiltinList a) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PInner (DeriveFakePlutusType a) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PInner (DeriveFakePlutusType a) = TypeError ('ShowType a ':<>: 'Text " derived PlutusType with DeriveFakePlutusType. This type is not meant to be used as PlutusType.") :: PType
type PInner (DeriveNewtypePlutusType a) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PInner (PAnd a) Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Internal.Semigroup

type PInner (POr a) Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Internal.Semigroup

type PInner (PXor a) Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Internal.Semigroup

type PInner (PList a) Source #

Since: 1.10.0

Instance details

Defined in Plutarch.List

type PInner (PMaybe a) Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Maybe

type PInner (DeriveAsDataRec a) Source # 
Instance details

Defined in Plutarch.Repr.Data

type PInner (DeriveAsDataRec a) = PDataRec (UnTermRec (Head (Code (a (Any :: S)))))
type PInner (DeriveAsDataStruct a) Source # 
Instance details

Defined in Plutarch.Repr.Data

type PInner (PDataRec struct) Source # 
Instance details

Defined in Plutarch.Repr.Data

type PInner (PDataStruct struct) Source # 
Instance details

Defined in Plutarch.Repr.Data

type PInner (PDataStruct struct) = PData
type PInner (DeriveNewtypePlutusType a) Source # 
Instance details

Defined in Plutarch.Repr.Newtype

type PInner (DeriveAsSOPRec a) Source # 
Instance details

Defined in Plutarch.Repr.SOP

type PInner (DeriveAsSOPRec a) = PSOPRec (UnTermRec (Head (Code (a (Any :: S)))))
type PInner (DeriveAsSOPStruct a) Source # 
Instance details

Defined in Plutarch.Repr.SOP

type PInner (PSOPRec struct) Source # 
Instance details

Defined in Plutarch.Repr.SOP

type PInner (PSOPRec struct) = POpaque
type PInner (PSOPStruct struct) Source # 
Instance details

Defined in Plutarch.Repr.SOP

type PInner (PSOPStruct struct) = POpaque
type PInner (DeriveAsScottRec a) Source # 
Instance details

Defined in Plutarch.Repr.Scott

type PInner (DeriveAsScottRec a) = PScottRec (UnTermRec (Head (Code (a (Any :: S)))))
type PInner (DeriveAsScottStruct a) Source # 
Instance details

Defined in Plutarch.Repr.Scott

type PInner (PScottRec struct) Source # 
Instance details

Defined in Plutarch.Repr.Scott

type PInner (PScottRec struct) = PForall (PScottRecInner struct)
type PInner (PScottStruct struct) Source # 
Instance details

Defined in Plutarch.Repr.Scott

type PInner (PScottStruct struct) = PForall (PScottStructInner struct)
type PInner (DeriveAsTag a) Source # 
Instance details

Defined in Plutarch.Repr.Tag

type PInner (PTag struct) Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Repr.Tag

type PInner (PTag struct) = PInner (DeriveNewtypePlutusType (PTag struct))
type PInner (PBuiltinPair a b) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PInner (PEither a b) Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Either

type PInner (PEitherData a b) Source # 
Instance details

Defined in Plutarch.Either

type PInner (PEitherData a b) = PData
type PInner (DeriveBuiltinPLiftable a h) Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Internal.Lift

type PInner (DeriveDataPLiftable a h) Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Internal.Lift

type PInner (DeriveNewtypePLiftable wrapper h) Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Internal.Lift

type PInner (PForall f) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PInner (PForall f) = PForall f
type PInner (a :--> b) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PInner (a :--> b) = a :--> b
type PInner (PPair a b) Source #

Since: 1.10.0

Instance details

Defined in Plutarch.Pair

type PInner (DerivePLiftableAsRepr wrapper h) Source # 
Instance details

Defined in Plutarch.Repr.Derive

class (forall t. PVariant'' t => PVariant'' (a t)) => PVariant a Source #

Instances

Instances details
(forall (t :: PType). PVariant'' t => PVariant'' (a t)) => PVariant a Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

class (forall t. PCovariant'' t => PCovariant'' (a t)) => PCovariant a Source #

Instances

Instances details
(forall (t :: PType). PCovariant'' t => PCovariant'' (a t)) => PCovariant a Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

class (forall t. PCovariant'' t => PContravariant'' (a t)) => PContravariant a Source #

Instances

Instances details
(forall (t :: PType). PCovariant'' t => PContravariant'' (a t)) => PContravariant a Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type family PVariant' a :: Constraint Source #

Instances

Instances details
type PVariant' PBitString Source # 
Instance details

Defined in Plutarch.BitString

type PVariant' PBuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PVariant' PBuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PVariant' PBuiltinBLS12_381_MlResult Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PVariant' PBool Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PVariant' PByte Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PVariant' PByteString Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PVariant' PEndianness Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PVariant' PLogicOpSemantics Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PVariant' PData Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PVariant' PData = ()
type PVariant' PInteger Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PVariant' POpaque Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PVariant' POpaque = ()
type PVariant' PString Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PVariant' PUnit Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PVariant' PNatural Source # 
Instance details

Defined in Plutarch.Internal.Numeric

type PVariant' PPositive Source # 
Instance details

Defined in Plutarch.Internal.Numeric

type PVariant' PRational Source # 
Instance details

Defined in Plutarch.Rational

type PVariant' (PDataNewtype a) Source # 
Instance details

Defined in Plutarch.Builtin

type PVariant' (PAsData a) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PVariant' (PBuiltinList a) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PVariant' (DeriveFakePlutusType a) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PVariant' (DeriveNewtypePlutusType a) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PVariant' (PAnd a) Source # 
Instance details

Defined in Plutarch.Internal.Semigroup

type PVariant' (POr a) Source # 
Instance details

Defined in Plutarch.Internal.Semigroup

type PVariant' (PXor a) Source # 
Instance details

Defined in Plutarch.Internal.Semigroup

type PVariant' (PList a) Source # 
Instance details

Defined in Plutarch.List

type PVariant' (PMaybe a) Source # 
Instance details

Defined in Plutarch.Maybe

type PVariant' (DeriveAsDataRec a) Source # 
Instance details

Defined in Plutarch.Repr.Data

type PVariant' (DeriveAsDataStruct a) Source # 
Instance details

Defined in Plutarch.Repr.Data

type PVariant' (PDataRec struct) Source # 
Instance details

Defined in Plutarch.Repr.Data

type PVariant' (PDataRec struct) = All PVariant'' struct
type PVariant' (PDataStruct struct) Source # 
Instance details

Defined in Plutarch.Repr.Data

type PVariant' (PDataStruct struct) = All2 PVariant'' struct
type PVariant' (DeriveNewtypePlutusType a) Source # 
Instance details

Defined in Plutarch.Repr.Newtype

type PVariant' (DeriveAsSOPRec a) Source # 
Instance details

Defined in Plutarch.Repr.SOP

type PVariant' (DeriveAsSOPStruct a) Source # 
Instance details

Defined in Plutarch.Repr.SOP

type PVariant' (PSOPRec struct) Source # 
Instance details

Defined in Plutarch.Repr.SOP

type PVariant' (PSOPRec struct) = All PVariant'' struct
type PVariant' (PSOPStruct struct) Source # 
Instance details

Defined in Plutarch.Repr.SOP

type PVariant' (PSOPStruct struct) = All2 PVariant'' struct
type PVariant' (DeriveAsScottRec a) Source # 
Instance details

Defined in Plutarch.Repr.Scott

type PVariant' (DeriveAsScottStruct a) Source # 
Instance details

Defined in Plutarch.Repr.Scott

type PVariant' (PScottRec struct) Source # 
Instance details

Defined in Plutarch.Repr.Scott

type PVariant' (PScottRec struct) = All PVariant'' struct
type PVariant' (PScottStruct struct) Source # 
Instance details

Defined in Plutarch.Repr.Scott

type PVariant' (PScottStruct struct) = All2 PVariant'' struct
type PVariant' (DeriveAsTag a) Source # 
Instance details

Defined in Plutarch.Repr.Tag

type PVariant' (PTag struct) Source # 
Instance details

Defined in Plutarch.Repr.Tag

type PVariant' (PBuiltinPair a b) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PVariant' (PEither a b) Source # 
Instance details

Defined in Plutarch.Either

type PVariant' (PEitherData a b) Source # 
Instance details

Defined in Plutarch.Either

type PVariant' (DeriveBuiltinPLiftable a h) Source # 
Instance details

Defined in Plutarch.Internal.Lift

type PVariant' (DeriveDataPLiftable a h) Source # 
Instance details

Defined in Plutarch.Internal.Lift

type PVariant' (DeriveNewtypePLiftable wrapper h) Source # 
Instance details

Defined in Plutarch.Internal.Lift

type PVariant' (PForall f) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PVariant' (PForall f) = All2 PVariant'' (PCode (PForall f))
type PVariant' (a :--> b) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PVariant' (a :--> b) = (PVariant' a, PVariant' b)
type PVariant' (PPair a b) Source # 
Instance details

Defined in Plutarch.Pair

type PVariant' (DerivePLiftableAsRepr wrapper h) Source # 
Instance details

Defined in Plutarch.Repr.Derive

type family PCovariant' a :: Constraint Source #

Instances

Instances details
type PCovariant' PBitString Source # 
Instance details

Defined in Plutarch.BitString

type PCovariant' PBuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PCovariant' PBuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PCovariant' PBuiltinBLS12_381_MlResult Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PCovariant' PBool Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PCovariant' PByte Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PCovariant' PByteString Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PCovariant' PEndianness Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PCovariant' PLogicOpSemantics Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PCovariant' PData Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PCovariant' PData = ()
type PCovariant' PInteger Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PCovariant' POpaque Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PCovariant' PString Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PCovariant' PUnit Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PCovariant' PNatural Source # 
Instance details

Defined in Plutarch.Internal.Numeric

type PCovariant' PPositive Source # 
Instance details

Defined in Plutarch.Internal.Numeric

type PCovariant' PRational Source # 
Instance details

Defined in Plutarch.Rational

type PCovariant' (PDataNewtype a) Source # 
Instance details

Defined in Plutarch.Builtin

type PCovariant' (PAsData a) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PCovariant' (PBuiltinList a) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PCovariant' (DeriveFakePlutusType a) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PCovariant' (DeriveNewtypePlutusType a) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PCovariant' (PAnd a) Source # 
Instance details

Defined in Plutarch.Internal.Semigroup

type PCovariant' (POr a) Source # 
Instance details

Defined in Plutarch.Internal.Semigroup

type PCovariant' (PXor a) Source # 
Instance details

Defined in Plutarch.Internal.Semigroup

type PCovariant' (PList a) Source # 
Instance details

Defined in Plutarch.List

type PCovariant' (PMaybe a) Source # 
Instance details

Defined in Plutarch.Maybe

type PCovariant' (DeriveAsDataRec a) Source # 
Instance details

Defined in Plutarch.Repr.Data

type PCovariant' (DeriveAsDataStruct a) Source # 
Instance details

Defined in Plutarch.Repr.Data

type PCovariant' (PDataRec struct) Source # 
Instance details

Defined in Plutarch.Repr.Data

type PCovariant' (PDataRec struct) = All PCovariant'' struct
type PCovariant' (PDataStruct struct) Source # 
Instance details

Defined in Plutarch.Repr.Data

type PCovariant' (PDataStruct struct) = All2 PCovariant'' struct
type PCovariant' (DeriveNewtypePlutusType a) Source # 
Instance details

Defined in Plutarch.Repr.Newtype

type PCovariant' (DeriveAsSOPRec a) Source # 
Instance details

Defined in Plutarch.Repr.SOP

type PCovariant' (DeriveAsSOPStruct a) Source # 
Instance details

Defined in Plutarch.Repr.SOP

type PCovariant' (PSOPRec struct) Source # 
Instance details

Defined in Plutarch.Repr.SOP

type PCovariant' (PSOPRec struct) = All PCovariant'' struct
type PCovariant' (PSOPStruct struct) Source # 
Instance details

Defined in Plutarch.Repr.SOP

type PCovariant' (PSOPStruct struct) = All2 PCovariant'' struct
type PCovariant' (DeriveAsScottRec a) Source # 
Instance details

Defined in Plutarch.Repr.Scott

type PCovariant' (DeriveAsScottStruct a) Source # 
Instance details

Defined in Plutarch.Repr.Scott

type PCovariant' (PScottRec struct) Source # 
Instance details

Defined in Plutarch.Repr.Scott

type PCovariant' (PScottRec struct) = All PCovariant'' struct
type PCovariant' (PScottStruct struct) Source # 
Instance details

Defined in Plutarch.Repr.Scott

type PCovariant' (PScottStruct struct) = All2 PCovariant'' struct
type PCovariant' (DeriveAsTag a) Source # 
Instance details

Defined in Plutarch.Repr.Tag

type PCovariant' (PTag struct) Source # 
Instance details

Defined in Plutarch.Repr.Tag

type PCovariant' (PBuiltinPair a b) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PCovariant' (PEither a b) Source # 
Instance details

Defined in Plutarch.Either

type PCovariant' (PEitherData a b) Source # 
Instance details

Defined in Plutarch.Either

type PCovariant' (DeriveBuiltinPLiftable a h) Source # 
Instance details

Defined in Plutarch.Internal.Lift

type PCovariant' (DeriveDataPLiftable a h) Source # 
Instance details

Defined in Plutarch.Internal.Lift

type PCovariant' (DeriveNewtypePLiftable wrapper h) Source # 
Instance details

Defined in Plutarch.Internal.Lift

type PCovariant' (PForall f) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PCovariant' (a :--> b) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PCovariant' (PPair a b) Source # 
Instance details

Defined in Plutarch.Pair

type PCovariant' (DerivePLiftableAsRepr wrapper h) Source # 
Instance details

Defined in Plutarch.Repr.Derive

type family PContravariant' a :: Constraint Source #

Instances

Instances details
type PContravariant' PBitString Source # 
Instance details

Defined in Plutarch.BitString

type PContravariant' PBuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PContravariant' PBuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PContravariant' PBuiltinBLS12_381_MlResult Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PContravariant' PBool Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PContravariant' PByte Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PContravariant' PByteString Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PContravariant' PEndianness Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PContravariant' PLogicOpSemantics Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PContravariant' PData Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PContravariant' PInteger Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PContravariant' POpaque Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PContravariant' PString Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PContravariant' PUnit Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PContravariant' PNatural Source # 
Instance details

Defined in Plutarch.Internal.Numeric

type PContravariant' PPositive Source # 
Instance details

Defined in Plutarch.Internal.Numeric

type PContravariant' PRational Source # 
Instance details

Defined in Plutarch.Rational

type PContravariant' (PDataNewtype a) Source # 
Instance details

Defined in Plutarch.Builtin

type PContravariant' (PAsData a) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PContravariant' (PBuiltinList a) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PContravariant' (DeriveFakePlutusType a) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PContravariant' (DeriveNewtypePlutusType a) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PContravariant' (PAnd a) Source # 
Instance details

Defined in Plutarch.Internal.Semigroup

type PContravariant' (POr a) Source # 
Instance details

Defined in Plutarch.Internal.Semigroup

type PContravariant' (PXor a) Source # 
Instance details

Defined in Plutarch.Internal.Semigroup

type PContravariant' (PList a) Source # 
Instance details

Defined in Plutarch.List

type PContravariant' (PMaybe a) Source # 
Instance details

Defined in Plutarch.Maybe

type PContravariant' (DeriveAsDataRec a) Source # 
Instance details

Defined in Plutarch.Repr.Data

type PContravariant' (DeriveAsDataStruct a) Source # 
Instance details

Defined in Plutarch.Repr.Data

type PContravariant' (PDataRec struct) Source # 
Instance details

Defined in Plutarch.Repr.Data

type PContravariant' (PDataRec struct) = All PContravariant'' struct
type PContravariant' (PDataStruct struct) Source # 
Instance details

Defined in Plutarch.Repr.Data

type PContravariant' (PDataStruct struct) = All2 PContravariant'' struct
type PContravariant' (DeriveNewtypePlutusType a) Source # 
Instance details

Defined in Plutarch.Repr.Newtype

type PContravariant' (DeriveAsSOPRec a) Source # 
Instance details

Defined in Plutarch.Repr.SOP

type PContravariant' (DeriveAsSOPStruct a) Source # 
Instance details

Defined in Plutarch.Repr.SOP

type PContravariant' (PSOPRec struct) Source # 
Instance details

Defined in Plutarch.Repr.SOP

type PContravariant' (PSOPRec struct) = All PContravariant'' struct
type PContravariant' (PSOPStruct struct) Source # 
Instance details

Defined in Plutarch.Repr.SOP

type PContravariant' (PSOPStruct struct) = All2 PContravariant'' struct
type PContravariant' (DeriveAsScottRec a) Source # 
Instance details

Defined in Plutarch.Repr.Scott

type PContravariant' (DeriveAsScottStruct a) Source # 
Instance details

Defined in Plutarch.Repr.Scott

type PContravariant' (PScottRec struct) Source # 
Instance details

Defined in Plutarch.Repr.Scott

type PContravariant' (PScottRec struct) = All PContravariant'' struct
type PContravariant' (PScottStruct struct) Source # 
Instance details

Defined in Plutarch.Repr.Scott

type PContravariant' (PScottStruct struct) = All2 PContravariant'' struct
type PContravariant' (DeriveAsTag a) Source # 
Instance details

Defined in Plutarch.Repr.Tag

type PContravariant' (PTag struct) Source # 
Instance details

Defined in Plutarch.Repr.Tag

type PContravariant' (PBuiltinPair a b) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PContravariant' (PEither a b) Source # 
Instance details

Defined in Plutarch.Either

type PContravariant' (PEitherData a b) Source # 
Instance details

Defined in Plutarch.Either

type PContravariant' (DeriveBuiltinPLiftable a h) Source # 
Instance details

Defined in Plutarch.Internal.Lift

type PContravariant' (DeriveDataPLiftable a h) Source # 
Instance details

Defined in Plutarch.Internal.Lift

type PContravariant' (DeriveNewtypePLiftable wrapper h) Source # 
Instance details

Defined in Plutarch.Internal.Lift

type PContravariant' (PForall f) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PContravariant' (a :--> b) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PContravariant' (PPair a b) Source # 
Instance details

Defined in Plutarch.Pair

type PContravariant' (DerivePLiftableAsRepr wrapper h) Source # 
Instance details

Defined in Plutarch.Repr.Derive

class PVariant' a => PVariant'' a Source #

Instances

Instances details
PVariant' a => PVariant'' a Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

class PCovariant' a => PCovariant'' a Source #

Instances

Instances details
PCovariant' a => PCovariant'' a Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

class PContravariant' a => PContravariant'' a Source #

Instances

Instances details
PContravariant' a => PContravariant'' a Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

newtype DeriveNewtypePlutusType (a :: S -> Type) s Source #

Since: 1.10.0

Constructors

DeriveNewtypePlutusType 

Fields

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

Instances details
PlutusType (DeriveFakePlutusType a) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

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 # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PCovariant' (DeriveFakePlutusType a) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PInner (DeriveFakePlutusType a) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PInner (DeriveFakePlutusType a) = TypeError ('ShowType a ':<>: 'Text " derived PlutusType with DeriveFakePlutusType. This type is not meant to be used as PlutusType.") :: PType
type PVariant' (DeriveFakePlutusType a) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType