plutarch-1.9.0
Safe HaskellSafe-Inferred
LanguageGHC2021

Plutarch.Prelude

Synopsis

eDSL types and functions.

data ((a :: PType) :--> (b :: PType)) (s :: S) infixr 0 Source #

Instances

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

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

Defined in Plutarch.Internal.PlutusType

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

Defined in Plutarch.Internal.PlutusType

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

Defined in Plutarch.Internal.PlutusType

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

Defined in Plutarch.Internal.PlutusType

type PVariant' (a :--> b) = (PVariant' a, PVariant' b)

data PDelayed (a :: PType) (s :: S) Source #

data Term (s :: S) (a :: PType) Source #

Instances

Instances details
(IndexLabel name as ~ a, ElemOf name a as, Term s (PAsData b) ~ a, PFromDataable b c) => HasField (name :: Symbol) (HRec as) (Term s c) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal.HList

Methods

getField :: HRec as -> Term s c Source #

IsString (Term s PString) Source # 
Instance details

Defined in Plutarch.String

Monoid (Term s PByteString) Source # 
Instance details

Defined in Plutarch.ByteString

Monoid (Term s PString) Source # 
Instance details

Defined in Plutarch.String

Monoid (Term s (PUnit :: S -> Type)) Source # 
Instance details

Defined in Plutarch.Unit

Semigroup (Term s PByteString) Source # 
Instance details

Defined in Plutarch.ByteString

Semigroup (Term s PString) Source # 
Instance details

Defined in Plutarch.String

Semigroup (Term s (PUnit :: S -> Type)) Source # 
Instance details

Defined in Plutarch.Unit

PNum a => Num (Term s a) Source # 
Instance details

Defined in Plutarch.Num

Methods

(+) :: Term s a -> Term s a -> Term s a Source #

(-) :: Term s a -> Term s a -> Term s a Source #

(*) :: Term s a -> Term s a -> Term s a Source #

negate :: Term s a -> Term s a Source #

abs :: Term s a -> Term s a Source #

signum :: Term s a -> Term s a Source #

fromInteger :: Integer -> Term s a Source #

(PNum a, PFractional a) => Fractional (Term s a) Source # 
Instance details

Defined in Plutarch.Rational

Methods

(/) :: Term s a -> Term s a -> Term s a Source #

recip :: Term s a -> Term s a Source #

fromRational :: Rational -> Term s a Source #

type ClosedTerm (a :: PType) = forall (s :: S). Term s a Source #

  • Closed* terms with no free variables.

plam :: forall c. (PLamN a b s, HasCallStack) => (Term s c -> a) -> Term s (c :--> b) Source #

papp :: Term s (a :--> b) -> Term s a -> Term s b Source #

Lambda Application.

pdelay :: Term s a -> Term s (PDelayed a) Source #

Plutus 'delay', used for laziness.

pforce :: Term s (PDelayed a) -> Term s a Source #

Plutus 'force', used to force evaluation of PDelayed terms.

perror :: Term s a Source #

Plutus 'error'.

When using this explicitly, it should be ensured that the containing term is delayed, avoiding premature evaluation.

(#$) :: Term s (a :--> b) -> Term s a -> Term s b infixr 0 Source #

Low precedence infixr synonym of papp, to be used like $, in combination with #. e.g.:

>>> f # x #$ g # y # z
f x (g y z)

(#) :: Term s (a :--> b) -> Term s a -> Term s b infixl 8 Source #

High precedence infixl synonym of papp, to be used like function juxtaposition. e.g.:

>>> f # x # y
f x y

plet :: Term s a -> (Term s a -> Term s b) -> Term s b Source #

Let bindings.

This is approximately a shorthand for a lambda and application:

plet v f == papp (plam f) v

But sufficiently small terms in WHNF may be inlined for efficiency.

pinl :: Term s a -> (Term s a -> Term s b) -> Term s b Source #

pto :: Term s a -> Term s (PInner a) Source #

Safely coerce from a Term to it's PInner representation.

pfix :: Term s (((a :--> b) :--> (a :--> b)) :--> (a :--> b)) Source #

Fixpoint recursion. Used to encode recursive functions.

Example:

iterateN' ::
 Term s (PInteger :--> (a :--> a) :--> a :--> a) ->
 Term s PInteger ->
 Term s (a :--> a) ->
 Term s a
iterateN' self n f x =
  pif (n #== 0) x (self # n - 1 #$ f x)

iterateN :: Term s (PInteger :--> (a :--> a) :--> a :--> a)
iterateN = pfix #$ plam iterateN'

Further examples can be found in examples/Recursion.hs

type Type = TYPE LiftedRep Source #

The kind of types with lifted values. For example Int :: Type.

data S Source #

Instances

Instances details
PIsData (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Builtin

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData PUnit) -> Term s PUnit Source #

pdataImpl :: forall (s :: S). Term s PUnit -> Term s PData Source #

PEq (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

Methods

(#==) :: forall (s :: S). Term s PUnit -> Term s PUnit -> Term s PBool Source #

PLiftable (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

Associated Types

type AsHaskell PUnit Source #

type PlutusRepr PUnit Source #

POrd (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

Methods

pmax :: forall (s :: S). Term s PUnit -> Term s PUnit -> Term s PUnit Source #

pmin :: forall (s :: S). Term s PUnit -> Term s PUnit -> Term s PUnit Source #

PPartialOrd (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

Methods

(#<=) :: forall (s :: S). Term s PUnit -> Term s PUnit -> Term s PBool Source #

(#<) :: forall (s :: S). Term s PUnit -> Term s PUnit -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s PUnit -> Term s PUnit -> Term s PBool Source #

(#>) :: forall (s :: S). Term s PUnit -> Term s PUnit -> Term s PBool Source #

PlutusType (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

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 #

PShow (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

Methods

pshow' :: forall (s :: S). Bool -> Term s PUnit -> Term s PString Source #

Monoid (Term s (PUnit :: S -> Type)) Source # 
Instance details

Defined in Plutarch.Unit

Semigroup (Term s (PUnit :: S -> Type)) Source # 
Instance details

Defined in Plutarch.Unit

type AsHaskell (PUnit :: S -> Type) Source #

@since WIP

Instance details

Defined in Plutarch.Unit

type PlutusRepr (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

type PContravariant' (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

type PCovariant' (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

type PCovariant' (PUnit :: S -> Type)
type PInner (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

type PInner (PUnit :: S -> Type) = PUnit :: S -> Type
type PVariant' (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

type PVariant' (PUnit :: S -> Type)

class PlutusType (a :: PType) Source #

Associated Types

type PInner a :: PType Source #

Instances

Instances details
PlutusType PBuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in Plutarch.BLS

PlutusType PBuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in Plutarch.BLS

PlutusType PBuiltinBLS12_381_MlResult Source # 
Instance details

Defined in Plutarch.BLS

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

Defined in Plutarch.Builtin

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 PBool Source #

@since WIP

Instance details

Defined in Plutarch.Builtin.Bool

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

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

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

Defined in Plutarch.ByteString

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

Defined in Plutarch.Convert

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

Defined in Plutarch.Integer

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

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

Defined in Plutarch.Positive

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

Defined in Plutarch.String

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 #

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

Defined in Plutarch.Builtin

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

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

SListI l => PlutusType (PDataRecord l) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

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

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

SListI defs => PlutusType (PDataSum defs) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Associated Types

type PInner (PDataSum defs) :: PType Source #

type PCovariant' (PDataSum defs) Source #

type PContravariant' (PDataSum defs) Source #

type PVariant' (PDataSum defs) Source #

Methods

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

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

PlutusType (PTxList a) Source # 
Instance details

Defined in Plutarch.FFI

Associated Types

type PInner (PTxList a) :: PType Source #

type PCovariant' (PTxList a) Source #

type PContravariant' (PTxList a) Source #

type PVariant' (PTxList a) Source #

Methods

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

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

PlutusType (PTxMaybe a) Source # 
Instance details

Defined in Plutarch.FFI

Methods

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

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

PlutusType (PFix f) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

Associated Types

type PInner (PFix f) :: PType Source #

type PCovariant' (PFix f) Source #

type PContravariant' (PFix f) Source #

type PVariant' (PFix f) Source #

Methods

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

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (PFix f)) -> (PFix f 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 #

PlutusType (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

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 (PBuiltinPair a b) Source # 
Instance details

Defined in Plutarch.Builtin

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 WIP

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 (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 (PSome f) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

Associated Types

type PInner (PSome f) :: PType Source #

type PCovariant' (PSome f) Source #

type PContravariant' (PSome f) Source #

type PVariant' (PSome f) Source #

Methods

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

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

PlutusType (PScottEncoded a r) Source # 
Instance details

Defined in Plutarch.Internal.ScottEncoding

Methods

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

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (PScottEncoded a r)) -> (PScottEncoded a r 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 (DeriveNewtypePLiftable wrapper inner h) Source # 
Instance details

Defined in Plutarch.Internal.Lift

Associated Types

type PInner (DeriveNewtypePLiftable wrapper inner h) :: PType Source #

type PCovariant' (DeriveNewtypePLiftable wrapper inner h) Source #

type PContravariant' (DeriveNewtypePLiftable wrapper inner h) Source #

type PVariant' (DeriveNewtypePLiftable wrapper inner h) Source #

Methods

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

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

class (PInner a ~ DerivedPInner (DPTStrat a) a, PlutusTypeStrat (DPTStrat a), PlutusTypeStratConstraint (DPTStrat a) a, PlutusType a) => DerivePlutusType (a :: PType) Source #

Instances

Instances details
DerivePlutusType PBuiltinBLS12_381_G1_Element Source #

Since: 1.9.0

Instance details

Defined in Plutarch.BLS

DerivePlutusType PBuiltinBLS12_381_G2_Element Source #

Since: 1.9.0

Instance details

Defined in Plutarch.BLS

DerivePlutusType PBuiltinBLS12_381_MlResult Source #

Since: 1.9.0

Instance details

Defined in Plutarch.BLS

DerivePlutusType PBitString Source #

@since WIP

Instance details

Defined in Plutarch.BitString

Associated Types

type DPTStrat PBitString Source #

DerivePlutusType PByte Source #

@since WIP

Instance details

Defined in Plutarch.ByteString

Associated Types

type DPTStrat PByte Source #

DerivePlutusType PByteString Source # 
Instance details

Defined in Plutarch.ByteString

Associated Types

type DPTStrat PByteString Source #

DerivePlutusType PLogicOpSemantics Source #

@since WIP

Instance details

Defined in Plutarch.ByteString

Associated Types

type DPTStrat PLogicOpSemantics Source #

DerivePlutusType PEndianness Source #

@since WIP

Instance details

Defined in Plutarch.Convert

Associated Types

type DPTStrat PEndianness Source #

DerivePlutusType PInteger Source # 
Instance details

Defined in Plutarch.Integer

Associated Types

type DPTStrat PInteger Source #

DerivePlutusType PPositive Source # 
Instance details

Defined in Plutarch.Positive

Associated Types

type DPTStrat PPositive Source #

DerivePlutusType PRational Source # 
Instance details

Defined in Plutarch.Rational

Associated Types

type DPTStrat PRational Source #

DerivePlutusType PString Source # 
Instance details

Defined in Plutarch.String

Associated Types

type DPTStrat PString Source #

DerivePlutusType (PList a) Source # 
Instance details

Defined in Plutarch.List

Associated Types

type DPTStrat (PList a) Source #

DerivePlutusType (PMaybe a) Source # 
Instance details

Defined in Plutarch.Maybe

Associated Types

type DPTStrat (PMaybe a) Source #

DerivePlutusType (PEither a b) Source # 
Instance details

Defined in Plutarch.Either

Associated Types

type DPTStrat (PEither a b) Source #

DerivePlutusType (DeriveBuiltinPLiftable a h) Source #

@since WIP

Instance details

Defined in Plutarch.Internal.Lift

Associated Types

type DPTStrat (DeriveBuiltinPLiftable a h) Source #

DerivePlutusType (DeriveDataPLiftable a h) Source #

@since WIP

Instance details

Defined in Plutarch.Internal.Lift

Associated Types

type DPTStrat (DeriveDataPLiftable a h) Source #

DerivePlutusType (PPair a b) Source # 
Instance details

Defined in Plutarch.Pair

Associated Types

type DPTStrat (PPair a b) Source #

DerivePlutusType (DeriveNewtypePLiftable w i h) Source #

@since WIP

Instance details

Defined in Plutarch.Internal.Lift

Associated Types

type DPTStrat (DeriveNewtypePLiftable w i h) Source #

type family DPTStrat a :: Type Source #

Instances

Instances details
type DPTStrat PBuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in Plutarch.BLS

type DPTStrat PBuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in Plutarch.BLS

type DPTStrat PBuiltinBLS12_381_MlResult Source # 
Instance details

Defined in Plutarch.BLS

type DPTStrat PBitString Source # 
Instance details

Defined in Plutarch.BitString

type DPTStrat PByte Source # 
Instance details

Defined in Plutarch.ByteString

type DPTStrat PByteString Source # 
Instance details

Defined in Plutarch.ByteString

type DPTStrat PLogicOpSemantics Source # 
Instance details

Defined in Plutarch.ByteString

type DPTStrat PEndianness Source # 
Instance details

Defined in Plutarch.Convert

type DPTStrat PInteger Source # 
Instance details

Defined in Plutarch.Integer

type DPTStrat PPositive Source # 
Instance details

Defined in Plutarch.Positive

type DPTStrat PRational Source # 
Instance details

Defined in Plutarch.Rational

type DPTStrat PString Source # 
Instance details

Defined in Plutarch.String

type DPTStrat (PList a) Source # 
Instance details

Defined in Plutarch.List

type DPTStrat (PMaybe a) Source # 
Instance details

Defined in Plutarch.Maybe

type DPTStrat (PEither a b) Source # 
Instance details

Defined in Plutarch.Either

type DPTStrat (DeriveBuiltinPLiftable a h) Source # 
Instance details

Defined in Plutarch.Internal.Lift

type DPTStrat (DeriveDataPLiftable a h) Source # 
Instance details

Defined in Plutarch.Internal.Lift

type DPTStrat (PPair a b) Source # 
Instance details

Defined in Plutarch.Pair

type DPTStrat (DeriveNewtypePLiftable w i h) Source # 
Instance details

Defined in Plutarch.Internal.Lift

type PCon = PlutusType Source #

Deprecated: Use PlutusType

type PMatch = PlutusType Source #

Deprecated: Use PlutusType

pcon :: PlutusType a => a s -> Term s a Source #

Construct a Plutarch Term via a Haskell datatype

pmatch :: PlutusType a => Term s a -> (a s -> Term s b) -> Term s b Source #

Pattern match over Plutarch Terms via a Haskell datatype

newtype PForall (b :: a -> PType) s Source #

Constructors

PForall (forall (x :: a). Term s (b x)) 

Instances

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

type PContravariant' (PForall f) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PCovariant' (PForall f) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PInner (PForall f) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PInner (PForall f) = PForall f
type PVariant' (PForall f) Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

Integers and integer utilities

data PInteger s Source #

Plutus BuiltinInteger

Instances

Instances details
PIsData PInteger Source # 
Instance details

Defined in Plutarch.Builtin

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData PInteger) -> Term s PInteger Source #

pdataImpl :: forall (s :: S). Term s PInteger -> Term s PData Source #

PCountable PInteger Source #

@since WIP

Instance details

Defined in Plutarch.Enum

Methods

psuccessor :: forall (s :: S). Term s (PInteger :--> PInteger) Source #

psuccessorN :: forall (s :: S). Term s (PPositive :--> (PInteger :--> PInteger)) Source #

PEnumerable PInteger Source #

@since WIP

Instance details

Defined in Plutarch.Enum

Methods

ppredecessor :: forall (s :: S). Term s (PInteger :--> PInteger) Source #

ppredecessorN :: forall (s :: S). Term s (PPositive :--> (PInteger :--> PInteger)) Source #

PIntegral PInteger Source # 
Instance details

Defined in Plutarch.Integer

Methods

pdiv :: forall (s :: S). Term s (PInteger :--> (PInteger :--> PInteger)) Source #

pmod :: forall (s :: S). Term s (PInteger :--> (PInteger :--> PInteger)) Source #

pquot :: forall (s :: S). Term s (PInteger :--> (PInteger :--> PInteger)) Source #

prem :: forall (s :: S). Term s (PInteger :--> (PInteger :--> PInteger)) Source #

PEq PInteger Source # 
Instance details

Defined in Plutarch.Integer

Methods

(#==) :: forall (s :: S). Term s PInteger -> Term s PInteger -> Term s PBool Source #

PLiftable PInteger Source # 
Instance details

Defined in Plutarch.Integer

POrd PInteger Source # 
Instance details

Defined in Plutarch.Integer

Methods

pmax :: forall (s :: S). Term s PInteger -> Term s PInteger -> Term s PInteger Source #

pmin :: forall (s :: S). Term s PInteger -> Term s PInteger -> Term s PInteger Source #

PPartialOrd PInteger Source # 
Instance details

Defined in Plutarch.Integer

Methods

(#<=) :: forall (s :: S). Term s PInteger -> Term s PInteger -> Term s PBool Source #

(#<) :: forall (s :: S). Term s PInteger -> Term s PInteger -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s PInteger -> Term s PInteger -> Term s PBool Source #

(#>) :: forall (s :: S). Term s PInteger -> Term s PInteger -> Term s PBool Source #

DerivePlutusType PInteger Source # 
Instance details

Defined in Plutarch.Integer

Associated Types

type DPTStrat PInteger Source #

PlutusType PInteger Source # 
Instance details

Defined in Plutarch.Integer

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 #

PNum PInteger Source # 
Instance details

Defined in Plutarch.Integer

Methods

(#+) :: forall (s :: S). Term s PInteger -> Term s PInteger -> Term s PInteger Source #

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

(#*) :: forall (s :: S). Term s PInteger -> Term s PInteger -> Term s PInteger Source #

pnegate :: forall (s :: S). Term s (PInteger :--> PInteger) Source #

pabs :: forall (s :: S). Term s (PInteger :--> PInteger) Source #

psignum :: forall (s :: S). Term s (PInteger :--> PInteger) Source #

pfromInteger :: forall (s :: S). Integer -> Term s PInteger Source #

PShow PInteger Source # 
Instance details

Defined in Plutarch.Show

Methods

pshow' :: forall (s :: S). Bool -> Term s PInteger -> Term s PString Source #

PTryFrom PInteger PPositive Source # 
Instance details

Defined in Plutarch.Positive

Associated Types

type PTryFromExcess PInteger PPositive :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PInteger -> ((Term s PPositive, Reduce (PTryFromExcess PInteger PPositive s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData PInteger) Source # 
Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData (PAsData PInteger) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PInteger), Reduce (PTryFromExcess PData (PAsData PInteger) s)) -> Term s r) -> Term s r Source #

Generic (PInteger s) Source # 
Instance details

Defined in Plutarch.Integer

Associated Types

type Rep (PInteger s) :: Type -> Type Source #

Methods

from :: PInteger s -> Rep (PInteger s) x Source #

to :: Rep (PInteger s) x -> PInteger s Source #

PIsData (PBuiltinPair PInteger (PBuiltinList PData)) Source # 
Instance details

Defined in Plutarch.Builtin

type AsHaskell PInteger Source #

@since WIP

Instance details

Defined in Plutarch.Integer

type PlutusRepr PInteger Source # 
Instance details

Defined in Plutarch.Integer

type DPTStrat PInteger Source # 
Instance details

Defined in Plutarch.Integer

type PContravariant' PInteger Source # 
Instance details

Defined in Plutarch.Integer

type PCovariant' PInteger Source # 
Instance details

Defined in Plutarch.Integer

type PInner PInteger Source # 
Instance details

Defined in Plutarch.Integer

type PVariant' PInteger Source # 
Instance details

Defined in Plutarch.Integer

type PTryFromExcess PInteger PPositive Source # 
Instance details

Defined in Plutarch.Positive

type PTryFromExcess PData (PAsData PInteger) Source # 
Instance details

Defined in Plutarch.Builtin

type Rep (PInteger s) Source # 
Instance details

Defined in Plutarch.Integer

type Rep (PInteger s) = D1 ('MetaData "PInteger" "Plutarch.Integer" "plutarch-1.9.0-DaxzFvLNVysDL1hkJ4YFrw" 'True) (C1 ('MetaCons "PInteger" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s POpaque))))

class PIntegral a where Source #

Minimal complete definition

Nothing

Methods

pdiv :: Term s (a :--> (a :--> a)) Source #

default pdiv :: PIntegral (PInner a) => Term s (a :--> (a :--> a)) Source #

pmod :: Term s (a :--> (a :--> a)) Source #

default pmod :: PIntegral (PInner a) => Term s (a :--> (a :--> a)) Source #

pquot :: Term s (a :--> (a :--> a)) Source #

default pquot :: PIntegral (PInner a) => Term s (a :--> (a :--> a)) Source #

prem :: Term s (a :--> (a :--> a)) Source #

default prem :: PIntegral (PInner a) => Term s (a :--> (a :--> a)) Source #

Instances

Instances details
PIntegral PInteger Source # 
Instance details

Defined in Plutarch.Integer

Methods

pdiv :: forall (s :: S). Term s (PInteger :--> (PInteger :--> PInteger)) Source #

pmod :: forall (s :: S). Term s (PInteger :--> (PInteger :--> PInteger)) Source #

pquot :: forall (s :: S). Term s (PInteger :--> (PInteger :--> PInteger)) Source #

prem :: forall (s :: S). Term s (PInteger :--> (PInteger :--> PInteger)) Source #

PIntegral PPositive Source # 
Instance details

Defined in Plutarch.Positive

Methods

pdiv :: forall (s :: S). Term s (PPositive :--> (PPositive :--> PPositive)) Source #

pmod :: forall (s :: S). Term s (PPositive :--> (PPositive :--> PPositive)) Source #

pquot :: forall (s :: S). Term s (PPositive :--> (PPositive :--> PPositive)) Source #

prem :: forall (s :: S). Term s (PPositive :--> (PPositive :--> PPositive)) Source #

Rational numbers and utilities

data PRational s Source #

Note: This type is _not_ the synonym of Rational.

Constructors

PRational (Term s PInteger) (Term s PPositive) 

Instances

Instances details
PIsData PRational Source #

This instance _does not_ correspond to Rationals data encoding.

Instance details

Defined in Plutarch.Rational

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData PRational) -> Term s PRational Source #

pdataImpl :: forall (s :: S). Term s PRational -> Term s PData Source #

PEq PRational Source # 
Instance details

Defined in Plutarch.Rational

Methods

(#==) :: forall (s :: S). Term s PRational -> Term s PRational -> Term s PBool Source #

POrd PRational Source # 
Instance details

Defined in Plutarch.Rational

Methods

pmax :: forall (s :: S). Term s PRational -> Term s PRational -> Term s PRational Source #

pmin :: forall (s :: S). Term s PRational -> Term s PRational -> Term s PRational Source #

PPartialOrd PRational Source # 
Instance details

Defined in Plutarch.Rational

Methods

(#<=) :: forall (s :: S). Term s PRational -> Term s PRational -> Term s PBool Source #

(#<) :: forall (s :: S). Term s PRational -> Term s PRational -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s PRational -> Term s PRational -> Term s PBool Source #

(#>) :: forall (s :: S). Term s PRational -> Term s PRational -> Term s PBool Source #

DerivePlutusType PRational Source # 
Instance details

Defined in Plutarch.Rational

Associated Types

type DPTStrat PRational 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 #

PNum PRational Source # 
Instance details

Defined in Plutarch.Rational

Methods

(#+) :: forall (s :: S). Term s PRational -> Term s PRational -> Term s PRational Source #

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

(#*) :: forall (s :: S). Term s PRational -> Term s PRational -> Term s PRational Source #

pnegate :: forall (s :: S). Term s (PRational :--> PRational) Source #

pabs :: forall (s :: S). Term s (PRational :--> PRational) Source #

psignum :: forall (s :: S). Term s (PRational :--> PRational) Source #

pfromInteger :: forall (s :: S). Integer -> Term s PRational Source #

PFractional PRational Source # 
Instance details

Defined in Plutarch.Rational

Methods

(#/) :: forall (s :: S). Term s PRational -> Term s PRational -> Term s PRational Source #

precip :: forall (s :: S). Term s (PRational :--> PRational) Source #

pfromRational :: forall (s :: S). Term s (PRational :--> PRational) Source #

PShow PRational Source # 
Instance details

Defined in Plutarch.Rational

Methods

pshow' :: forall (s :: S). Bool -> Term s PRational -> Term s PString Source #

PTryFrom PData (PAsData PRational) Source #

NOTE: This instance produces a verified PPositive as the excess output.

Instance details

Defined in Plutarch.Rational

Associated Types

type PTryFromExcess PData (PAsData PRational) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PRational), Reduce (PTryFromExcess PData (PAsData PRational) s)) -> Term s r) -> Term s r Source #

Generic (PRational s) Source # 
Instance details

Defined in Plutarch.Rational

Associated Types

type Rep (PRational s) :: Type -> Type Source #

Methods

from :: PRational s -> Rep (PRational s) x Source #

to :: Rep (PRational s) x -> PRational s Source #

type DPTStrat PRational Source # 
Instance details

Defined in Plutarch.Rational

type PContravariant' PRational Source # 
Instance details

Defined in Plutarch.Rational

type PCovariant' PRational Source # 
Instance details

Defined in Plutarch.Rational

type PInner PRational Source # 
Instance details

Defined in Plutarch.Rational

type PVariant' PRational Source # 
Instance details

Defined in Plutarch.Rational

type PTryFromExcess PData (PAsData PRational) Source # 
Instance details

Defined in Plutarch.Rational

type Rep (PRational s) Source # 
Instance details

Defined in Plutarch.Rational

type Rep (PRational s) = D1 ('MetaData "PRational" "Plutarch.Rational" "plutarch-1.9.0-DaxzFvLNVysDL1hkJ4YFrw" 'False) (C1 ('MetaCons "PRational" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s PInteger)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s PPositive))))

Booleans and boolean functions

data PBool (s :: S) Source #

Builtin Plutus boolean.

@since WIP

Constructors

PTrue 
PFalse 

Instances

Instances details
PIsData PBool Source #

Instance for PBool following the Plutus IsData repr given by makeIsDataIndexed ''Bool [('False,0),('True,1)], which is used in TxInfo via Closure.

Instance details

Defined in Plutarch.Builtin

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData PBool) -> Term s PBool Source #

pdataImpl :: forall (s :: S). Term s PBool -> Term s PData Source #

PEq PBool Source # 
Instance details

Defined in Plutarch.Internal.Eq

Methods

(#==) :: forall (s :: S). Term s PBool -> Term s PBool -> Term s PBool Source #

PLiftable PBool Source # 
Instance details

Defined in Plutarch.Builtin.Bool

Associated Types

type AsHaskell PBool Source #

type PlutusRepr PBool Source #

POrd PBool Source # 
Instance details

Defined in Plutarch.Internal.Ord

Methods

pmax :: forall (s :: S). Term s PBool -> Term s PBool -> Term s PBool Source #

pmin :: forall (s :: S). Term s PBool -> Term s PBool -> Term s PBool Source #

PPartialOrd PBool Source # 
Instance details

Defined in Plutarch.Internal.Ord

Methods

(#<=) :: forall (s :: S). Term s PBool -> Term s PBool -> Term s PBool Source #

(#<) :: forall (s :: S). Term s PBool -> Term s PBool -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s PBool -> Term s PBool -> Term s PBool Source #

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

PlutusType PBool Source #

@since WIP

Instance details

Defined in Plutarch.Builtin.Bool

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 #

PShow PBool Source # 
Instance details

Defined in Plutarch.Show

Methods

pshow' :: forall (s :: S). Bool -> Term s PBool -> Term s PString Source #

PTryFrom PData (PAsData PBool) Source #

Since: 1.7.0

Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData (PAsData PBool) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PBool), Reduce (PTryFromExcess PData (PAsData PBool) s)) -> Term s r) -> Term s r Source #

Show (PBool s) Source #

@since WIP

Instance details

Defined in Plutarch.Builtin.Bool

type AsHaskell PBool Source #

@since WIP

Instance details

Defined in Plutarch.Builtin.Bool

type PlutusRepr PBool Source # 
Instance details

Defined in Plutarch.Builtin.Bool

type PContravariant' PBool Source # 
Instance details

Defined in Plutarch.Builtin.Bool

type PCovariant' PBool Source # 
Instance details

Defined in Plutarch.Builtin.Bool

type PInner PBool Source # 
Instance details

Defined in Plutarch.Builtin.Bool

type PVariant' PBool Source # 
Instance details

Defined in Plutarch.Builtin.Bool

type PTryFromExcess PData (PAsData PBool) Source # 
Instance details

Defined in Plutarch.Builtin

class PEq t where Source #

Minimal complete definition

Nothing

Methods

(#==) :: Term s t -> Term s t -> Term s PBool infix 4 Source #

default (#==) :: (PGeneric t, PlutusType t, All2 PEq (PCode t)) => Term s t -> Term s t -> Term s PBool Source #

Instances

Instances details
PEq PBuiltinBLS12_381_G1_Element Source #

Since: 1.9.0

Instance details

Defined in Plutarch.BLS

PEq PBuiltinBLS12_381_G2_Element Source #

Since: 1.9.0

Instance details

Defined in Plutarch.BLS

PEq PBitString Source #

@since WIP

Instance details

Defined in Plutarch.BitString

Methods

(#==) :: forall (s :: S). Term s PBitString -> Term s PBitString -> Term s PBool Source #

PEq PData Source # 
Instance details

Defined in Plutarch.Builtin

Methods

(#==) :: forall (s :: S). Term s PData -> Term s PData -> Term s PBool Source #

PEq PBool Source # 
Instance details

Defined in Plutarch.Internal.Eq

Methods

(#==) :: forall (s :: S). Term s PBool -> Term s PBool -> Term s PBool Source #

PEq PByte Source #

@since WIP

Instance details

Defined in Plutarch.ByteString

Methods

(#==) :: forall (s :: S). Term s PByte -> Term s PByte -> Term s PBool Source #

PEq PByteString Source # 
Instance details

Defined in Plutarch.ByteString

Methods

(#==) :: forall (s :: S). Term s PByteString -> Term s PByteString -> Term s PBool Source #

PEq PLogicOpSemantics Source #

@since WIP

Instance details

Defined in Plutarch.ByteString

Methods

(#==) :: forall (s :: S). Term s PLogicOpSemantics -> Term s PLogicOpSemantics -> Term s PBool Source #

PEq PEndianness Source #

@since WIP

Instance details

Defined in Plutarch.Convert

Methods

(#==) :: forall (s :: S). Term s PEndianness -> Term s PEndianness -> Term s PBool Source #

PEq PInteger Source # 
Instance details

Defined in Plutarch.Integer

Methods

(#==) :: forall (s :: S). Term s PInteger -> Term s PInteger -> Term s PBool Source #

PEq PPositive Source # 
Instance details

Defined in Plutarch.Positive

Methods

(#==) :: forall (s :: S). Term s PPositive -> Term s PPositive -> Term s PBool Source #

PEq PRational Source # 
Instance details

Defined in Plutarch.Rational

Methods

(#==) :: forall (s :: S). Term s PRational -> Term s PRational -> Term s PBool Source #

PEq PString Source # 
Instance details

Defined in Plutarch.String

Methods

(#==) :: forall (s :: S). Term s PString -> Term s PString -> Term s PBool Source #

PEq (PAsData a) Source # 
Instance details

Defined in Plutarch.Builtin

Methods

(#==) :: forall (s :: S). Term s (PAsData a) -> Term s (PAsData a) -> Term s PBool Source #

Fc (F a) a => PEq (PBuiltinList a) Source # 
Instance details

Defined in Plutarch.Builtin

Methods

(#==) :: forall (s :: S). Term s (PBuiltinList a) -> Term s (PBuiltinList a) -> Term s PBool Source #

PEq (PDataNewtype a) Source #

Since: 1.7.0

Instance details

Defined in Plutarch.Builtin

Methods

(#==) :: forall (s :: S). Term s (PDataNewtype a) -> Term s (PDataNewtype a) -> Term s PBool Source #

PEq (PDataRecord xs) Source #

This uses data equality. PEq instances of elements don't make any difference.

Instance details

Defined in Plutarch.DataRepr.Internal

Methods

(#==) :: forall (s :: S). Term s (PDataRecord xs) -> Term s (PDataRecord xs) -> Term s PBool Source #

PEq (PDataSum defs) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

(#==) :: forall (s :: S). Term s (PDataSum defs) -> Term s (PDataSum defs) -> Term s PBool Source #

PEq a => PEq (PTxList a) Source # 
Instance details

Defined in Plutarch.FFI

Methods

(#==) :: forall (s :: S). Term s (PTxList a) -> Term s (PTxList a) -> Term s PBool Source #

PEq a => PEq (PTxMaybe a) Source # 
Instance details

Defined in Plutarch.FFI

Methods

(#==) :: forall (s :: S). Term s (PTxMaybe a) -> Term s (PTxMaybe a) -> Term s PBool Source #

PEq a => PEq (PList a) Source # 
Instance details

Defined in Plutarch.List

Methods

(#==) :: forall (s :: S). Term s (PList a) -> Term s (PList a) -> Term s PBool Source #

PEq a => PEq (PMaybe a) Source # 
Instance details

Defined in Plutarch.Maybe

Methods

(#==) :: forall (s :: S). Term s (PMaybe a) -> Term s (PMaybe a) -> Term s PBool Source #

PEq (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

Methods

(#==) :: forall (s :: S). Term s PUnit -> Term s PUnit -> Term s PBool Source #

(PEq a, PEq b) => PEq (PBuiltinPair a b) Source # 
Instance details

Defined in Plutarch.Builtin

Methods

(#==) :: forall (s :: S). Term s (PBuiltinPair a b) -> Term s (PBuiltinPair a b) -> Term s PBool Source #

(PEq a, PEq b) => PEq (PEither a b) Source # 
Instance details

Defined in Plutarch.Either

Methods

(#==) :: forall (s :: S). Term s (PEither a b) -> Term s (PEither a b) -> Term s PBool Source #

PEq (PEitherData a b) Source #

@since WIP

Instance details

Defined in Plutarch.Either

Methods

(#==) :: forall (s :: S). Term s (PEitherData a b) -> Term s (PEitherData a b) -> Term s PBool Source #

(PEq a, PEq b) => PEq (PPair a b) Source # 
Instance details

Defined in Plutarch.Pair

Methods

(#==) :: forall (s :: S). Term s (PPair a b) -> Term s (PPair a b) -> Term s PBool Source #

class PEq t => PPartialOrd t where Source #

Partial ordering relation.

Laws

#<= must form a partial order. More precisely:

  1. x #<= x = True (#<= is reflexive)
  2. (x #<= y) #&& (y #<= x) = x #== y (#<= is anti-symmetric)
  3. (x #<= y) #&& (y #<= z) = x #<= z (@#<= is transitive)

Furthermore, #< must be an equivalent strict partial order to #<=:

  1. x #<= y = (x #< y) #|| (x #== y)
  2. x #< x = False (#< is irreflexive)
  3. x #< y = pnot (y #< x) (#< is asymmetric)
  4. (x #< y) #&& (y #< z) = x #< z (#< is transitive)

Lastly, if you define #>= or #>, ensure that the following also hold:

  1. x #> y = y #< x
  2. x #>= y = pnot (x #< y)

The default implementations of #>= and #> ensure these laws.

Minimal complete definition

Nothing

Methods

(#<=) :: Term s t -> Term s t -> Term s PBool infix 4 Source #

default (#<=) :: POrd (PInner t) => Term s t -> Term s t -> Term s PBool Source #

(#<) :: Term s t -> Term s t -> Term s PBool infix 4 Source #

default (#<) :: POrd (PInner t) => Term s t -> Term s t -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s t -> Term s t -> Term s PBool infix 4 Source #

@since WIP

(#>) :: forall (s :: S). Term s t -> Term s t -> Term s PBool infix 4 Source #

@since WIP

Instances

Instances details
PPartialOrd PBitString Source #

@since WIP

Instance details

Defined in Plutarch.BitString

Methods

(#<=) :: forall (s :: S). Term s PBitString -> Term s PBitString -> Term s PBool Source #

(#<) :: forall (s :: S). Term s PBitString -> Term s PBitString -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s PBitString -> Term s PBitString -> Term s PBool Source #

(#>) :: forall (s :: S). Term s PBitString -> Term s PBitString -> Term s PBool Source #

PPartialOrd PBool Source # 
Instance details

Defined in Plutarch.Internal.Ord

Methods

(#<=) :: forall (s :: S). Term s PBool -> Term s PBool -> Term s PBool Source #

(#<) :: forall (s :: S). Term s PBool -> Term s PBool -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s PBool -> Term s PBool -> Term s PBool Source #

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

PPartialOrd PByte Source #

@since WIP

Instance details

Defined in Plutarch.ByteString

Methods

(#<=) :: forall (s :: S). Term s PByte -> Term s PByte -> Term s PBool Source #

(#<) :: forall (s :: S). Term s PByte -> Term s PByte -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s PByte -> Term s PByte -> Term s PBool Source #

(#>) :: forall (s :: S). Term s PByte -> Term s PByte -> Term s PBool Source #

PPartialOrd PByteString Source # 
Instance details

Defined in Plutarch.ByteString

Methods

(#<=) :: forall (s :: S). Term s PByteString -> Term s PByteString -> Term s PBool Source #

(#<) :: forall (s :: S). Term s PByteString -> Term s PByteString -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s PByteString -> Term s PByteString -> Term s PBool Source #

(#>) :: forall (s :: S). Term s PByteString -> Term s PByteString -> Term s PBool Source #

PPartialOrd PLogicOpSemantics Source #

@since WIP

Instance details

Defined in Plutarch.ByteString

PPartialOrd PEndianness Source #

@since WIP

Instance details

Defined in Plutarch.Convert

Methods

(#<=) :: forall (s :: S). Term s PEndianness -> Term s PEndianness -> Term s PBool Source #

(#<) :: forall (s :: S). Term s PEndianness -> Term s PEndianness -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s PEndianness -> Term s PEndianness -> Term s PBool Source #

(#>) :: forall (s :: S). Term s PEndianness -> Term s PEndianness -> Term s PBool Source #

PPartialOrd PInteger Source # 
Instance details

Defined in Plutarch.Integer

Methods

(#<=) :: forall (s :: S). Term s PInteger -> Term s PInteger -> Term s PBool Source #

(#<) :: forall (s :: S). Term s PInteger -> Term s PInteger -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s PInteger -> Term s PInteger -> Term s PBool Source #

(#>) :: forall (s :: S). Term s PInteger -> Term s PInteger -> Term s PBool Source #

PPartialOrd PPositive Source # 
Instance details

Defined in Plutarch.Positive

Methods

(#<=) :: forall (s :: S). Term s PPositive -> Term s PPositive -> Term s PBool Source #

(#<) :: forall (s :: S). Term s PPositive -> Term s PPositive -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s PPositive -> Term s PPositive -> Term s PBool Source #

(#>) :: forall (s :: S). Term s PPositive -> Term s PPositive -> Term s PBool Source #

PPartialOrd PRational Source # 
Instance details

Defined in Plutarch.Rational

Methods

(#<=) :: forall (s :: S). Term s PRational -> Term s PRational -> Term s PBool Source #

(#<) :: forall (s :: S). Term s PRational -> Term s PRational -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s PRational -> Term s PRational -> Term s PBool Source #

(#>) :: forall (s :: S). Term s PRational -> Term s PRational -> Term s PBool Source #

(PIsData a, PPartialOrd a) => PPartialOrd (PDataNewtype a) Source #

Since: 1.7.0

Instance details

Defined in Plutarch.Builtin

Methods

(#<=) :: forall (s :: S). Term s (PDataNewtype a) -> Term s (PDataNewtype a) -> Term s PBool Source #

(#<) :: forall (s :: S). Term s (PDataNewtype a) -> Term s (PDataNewtype a) -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s (PDataNewtype a) -> Term s (PDataNewtype a) -> Term s PBool Source #

(#>) :: forall (s :: S). Term s (PDataNewtype a) -> Term s (PDataNewtype a) -> Term s PBool Source #

(SListI xs, POrd x, PIsData x, POrd (PDataRecord (x' ': xs))) => PPartialOrd (PDataRecord ((label ':= x) ': (x' ': xs))) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

(#<=) :: forall (s :: S). Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s PBool Source #

(#<) :: forall (s :: S). Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s PBool Source #

(#>) :: forall (s :: S). Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s PBool Source #

(POrd x, PIsData x) => PPartialOrd (PDataRecord '[label ':= x]) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

(#<=) :: forall (s :: S). Term s (PDataRecord '[label ':= x]) -> Term s (PDataRecord '[label ':= x]) -> Term s PBool Source #

(#<) :: forall (s :: S). Term s (PDataRecord '[label ':= x]) -> Term s (PDataRecord '[label ':= x]) -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s (PDataRecord '[label ':= x]) -> Term s (PDataRecord '[label ':= x]) -> Term s PBool Source #

(#>) :: forall (s :: S). Term s (PDataRecord '[label ':= x]) -> Term s (PDataRecord '[label ':= x]) -> Term s PBool Source #

PPartialOrd (PDataRecord ('[] :: [PLabeledType])) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

(#<=) :: forall (s :: S). Term s (PDataRecord '[]) -> Term s (PDataRecord '[]) -> Term s PBool Source #

(#<) :: forall (s :: S). Term s (PDataRecord '[]) -> Term s (PDataRecord '[]) -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s (PDataRecord '[]) -> Term s (PDataRecord '[]) -> Term s PBool Source #

(#>) :: forall (s :: S). Term s (PDataRecord '[]) -> Term s (PDataRecord '[]) -> Term s PBool Source #

All (Compose POrd PDataRecord) defs => PPartialOrd (PDataSum defs) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

(#<=) :: forall (s :: S). Term s (PDataSum defs) -> Term s (PDataSum defs) -> Term s PBool Source #

(#<) :: forall (s :: S). Term s (PDataSum defs) -> Term s (PDataSum defs) -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s (PDataSum defs) -> Term s (PDataSum defs) -> Term s PBool Source #

(#>) :: forall (s :: S). Term s (PDataSum defs) -> Term s (PDataSum defs) -> Term s PBool Source #

PPartialOrd (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

Methods

(#<=) :: forall (s :: S). Term s PUnit -> Term s PUnit -> Term s PBool Source #

(#<) :: forall (s :: S). Term s PUnit -> Term s PUnit -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s PUnit -> Term s PUnit -> Term s PBool Source #

(#>) :: forall (s :: S). Term s PUnit -> Term s PUnit -> Term s PBool Source #

(PPartialOrd a, PPartialOrd b, PIsData a, PIsData b) => PPartialOrd (PEitherData a b) Source #

@since WIP

Instance details

Defined in Plutarch.Either

Methods

(#<=) :: forall (s :: S). Term s (PEitherData a b) -> Term s (PEitherData a b) -> Term s PBool Source #

(#<) :: forall (s :: S). Term s (PEitherData a b) -> Term s (PEitherData a b) -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s (PEitherData a b) -> Term s (PEitherData a b) -> Term s PBool Source #

(#>) :: forall (s :: S). Term s (PEitherData a b) -> Term s (PEitherData a b) -> Term s PBool Source #

class PPartialOrd t => POrd t where Source #

Total ordering relation.

Laws

pmax and pmin must form a commutative semiring without identity elements, where addition also distributes over multiplication. More precisely:

  1. pmax x y = pmax y x (pmax is commutative)
  2. pmin x y = pmin y x (pmin is commutative)
  3. pmax x (pmax y z) = pmax (pmax x y) z (pmax is associative)
  4. pmin x (pmin y z) = pmin (pmin x y) z (pmin is associative)
  5. pmax x (pmin y z) = pmin (pmax x y) (pmax x z) (pmax distributes over pmin)
  6. pmin x (pmax y z) = pmax (pmin x y) (pmin x z) (pmin distributes over pmax)

Furthermore, the following must hold relative #<:

  1. pmin x y = if (x #< y) then x else y
  2. pmax x y = if (x #< y) then y else x

Laws 7 and 8 are also the defaults, as for most types, this is the best you can do.

Minimal complete definition

Nothing

Methods

pmax :: forall (s :: S). Term s t -> Term s t -> Term s t Source #

@since WIP

pmin :: forall (s :: S). Term s t -> Term s t -> Term s t Source #

@since WIP

Instances

Instances details
POrd PBitString Source #

@since WIP

Instance details

Defined in Plutarch.BitString

Methods

pmax :: forall (s :: S). Term s PBitString -> Term s PBitString -> Term s PBitString Source #

pmin :: forall (s :: S). Term s PBitString -> Term s PBitString -> Term s PBitString Source #

POrd PBool Source # 
Instance details

Defined in Plutarch.Internal.Ord

Methods

pmax :: forall (s :: S). Term s PBool -> Term s PBool -> Term s PBool Source #

pmin :: forall (s :: S). Term s PBool -> Term s PBool -> Term s PBool Source #

POrd PByte Source #

@since WIP

Instance details

Defined in Plutarch.ByteString

Methods

pmax :: forall (s :: S). Term s PByte -> Term s PByte -> Term s PByte Source #

pmin :: forall (s :: S). Term s PByte -> Term s PByte -> Term s PByte Source #

POrd PByteString Source # 
Instance details

Defined in Plutarch.ByteString

Methods

pmax :: forall (s :: S). Term s PByteString -> Term s PByteString -> Term s PByteString Source #

pmin :: forall (s :: S). Term s PByteString -> Term s PByteString -> Term s PByteString Source #

POrd PLogicOpSemantics Source #

@since WIP

Instance details

Defined in Plutarch.ByteString

POrd PEndianness Source #

@since WIP

Instance details

Defined in Plutarch.Convert

Methods

pmax :: forall (s :: S). Term s PEndianness -> Term s PEndianness -> Term s PEndianness Source #

pmin :: forall (s :: S). Term s PEndianness -> Term s PEndianness -> Term s PEndianness Source #

POrd PInteger Source # 
Instance details

Defined in Plutarch.Integer

Methods

pmax :: forall (s :: S). Term s PInteger -> Term s PInteger -> Term s PInteger Source #

pmin :: forall (s :: S). Term s PInteger -> Term s PInteger -> Term s PInteger Source #

POrd PPositive Source # 
Instance details

Defined in Plutarch.Positive

Methods

pmax :: forall (s :: S). Term s PPositive -> Term s PPositive -> Term s PPositive Source #

pmin :: forall (s :: S). Term s PPositive -> Term s PPositive -> Term s PPositive Source #

POrd PRational Source # 
Instance details

Defined in Plutarch.Rational

Methods

pmax :: forall (s :: S). Term s PRational -> Term s PRational -> Term s PRational Source #

pmin :: forall (s :: S). Term s PRational -> Term s PRational -> Term s PRational Source #

(PIsData a, PPartialOrd a) => POrd (PDataNewtype a) Source #

Since: 1.7.0

Instance details

Defined in Plutarch.Builtin

Methods

pmax :: forall (s :: S). Term s (PDataNewtype a) -> Term s (PDataNewtype a) -> Term s (PDataNewtype a) Source #

pmin :: forall (s :: S). Term s (PDataNewtype a) -> Term s (PDataNewtype a) -> Term s (PDataNewtype a) Source #

(SListI xs, POrd x, PIsData x, POrd (PDataRecord (x' ': xs))) => POrd (PDataRecord ((label ':= x) ': (x' ': xs))) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

pmax :: forall (s :: S). Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s (PDataRecord ((label ':= x) ': (x' ': xs))) Source #

pmin :: forall (s :: S). Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s (PDataRecord ((label ':= x) ': (x' ': xs))) Source #

(POrd x, PIsData x) => POrd (PDataRecord '[label ':= x]) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

pmax :: forall (s :: S). Term s (PDataRecord '[label ':= x]) -> Term s (PDataRecord '[label ':= x]) -> Term s (PDataRecord '[label ':= x]) Source #

pmin :: forall (s :: S). Term s (PDataRecord '[label ':= x]) -> Term s (PDataRecord '[label ':= x]) -> Term s (PDataRecord '[label ':= x]) Source #

POrd (PDataRecord ('[] :: [PLabeledType])) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

pmax :: forall (s :: S). Term s (PDataRecord '[]) -> Term s (PDataRecord '[]) -> Term s (PDataRecord '[]) Source #

pmin :: forall (s :: S). Term s (PDataRecord '[]) -> Term s (PDataRecord '[]) -> Term s (PDataRecord '[]) Source #

All (Compose POrd PDataRecord) defs => POrd (PDataSum defs) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

pmax :: forall (s :: S). Term s (PDataSum defs) -> Term s (PDataSum defs) -> Term s (PDataSum defs) Source #

pmin :: forall (s :: S). Term s (PDataSum defs) -> Term s (PDataSum defs) -> Term s (PDataSum defs) Source #

POrd (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

Methods

pmax :: forall (s :: S). Term s PUnit -> Term s PUnit -> Term s PUnit Source #

pmin :: forall (s :: S). Term s PUnit -> Term s PUnit -> Term s PUnit Source #

(PPartialOrd a, PPartialOrd b, PIsData a, PIsData b) => POrd (PEitherData a b) Source #

@since WIP

Instance details

Defined in Plutarch.Either

Methods

pmax :: forall (s :: S). Term s (PEitherData a b) -> Term s (PEitherData a b) -> Term s (PEitherData a b) Source #

pmin :: forall (s :: S). Term s (PEitherData a b) -> Term s (PEitherData a b) -> Term s (PEitherData a b) Source #

pif :: forall (a :: S -> Type) (s :: S). Term s PBool -> Term s a -> Term s a -> Term s a Source #

Lazy if-then-else.

@since WIP

pif' :: forall (a :: S -> Type) (s :: S). Term s (PBool :--> (a :--> (a :--> a))) Source #

Strict if-then-else. Emits slightly less code than the lazy version.

@since WIP

pnot :: forall (s :: S). Term s (PBool :--> PBool) Source #

Boolean negation.

@since WIP

(#&&) :: forall (s :: S). Term s PBool -> Term s PBool -> Term s PBool infixr 3 Source #

Lazy AND for terms.

@since WIP

(#||) :: forall (s :: S). Term s PBool -> Term s PBool -> Term s PBool infixr 2 Source #

Lazy OR for terms.

@since WIP

Bytestrings and bytestring utilities

Types

data PByteString s Source #

Plutus BuiltinByteString

Instances

Instances details
PIsData PByteString Source # 
Instance details

Defined in Plutarch.Builtin

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData PByteString) -> Term s PByteString Source #

pdataImpl :: forall (s :: S). Term s PByteString -> Term s PData Source #

PEq PByteString Source # 
Instance details

Defined in Plutarch.ByteString

Methods

(#==) :: forall (s :: S). Term s PByteString -> Term s PByteString -> Term s PBool Source #

PLiftable PByteString Source # 
Instance details

Defined in Plutarch.ByteString

POrd PByteString Source # 
Instance details

Defined in Plutarch.ByteString

Methods

pmax :: forall (s :: S). Term s PByteString -> Term s PByteString -> Term s PByteString Source #

pmin :: forall (s :: S). Term s PByteString -> Term s PByteString -> Term s PByteString Source #

PPartialOrd PByteString Source # 
Instance details

Defined in Plutarch.ByteString

Methods

(#<=) :: forall (s :: S). Term s PByteString -> Term s PByteString -> Term s PBool Source #

(#<) :: forall (s :: S). Term s PByteString -> Term s PByteString -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s PByteString -> Term s PByteString -> Term s PBool Source #

(#>) :: forall (s :: S). Term s PByteString -> Term s PByteString -> Term s PBool Source #

DerivePlutusType PByteString Source # 
Instance details

Defined in Plutarch.ByteString

Associated Types

type DPTStrat PByteString Source #

PlutusType PByteString Source # 
Instance details

Defined in Plutarch.ByteString

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 #

PShow PByteString Source # 
Instance details

Defined in Plutarch.Show

Methods

pshow' :: forall (s :: S). Bool -> Term s PByteString -> Term s PString Source #

PTryFrom PData (PAsData PByteString) Source # 
Instance details

Defined in Plutarch.Builtin

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PByteString), Reduce (PTryFromExcess PData (PAsData PByteString) s)) -> Term s r) -> Term s r Source #

Generic (PByteString s) Source # 
Instance details

Defined in Plutarch.ByteString

Associated Types

type Rep (PByteString s) :: Type -> Type Source #

PLiftable (PAsData PByteString) Source # 
Instance details

Defined in Plutarch.Builtin

Monoid (Term s PByteString) Source # 
Instance details

Defined in Plutarch.ByteString

Semigroup (Term s PByteString) Source # 
Instance details

Defined in Plutarch.ByteString

type AsHaskell PByteString Source #

@since WIP

Instance details

Defined in Plutarch.ByteString

type PlutusRepr PByteString Source # 
Instance details

Defined in Plutarch.ByteString

type DPTStrat PByteString Source # 
Instance details

Defined in Plutarch.ByteString

type PContravariant' PByteString Source # 
Instance details

Defined in Plutarch.ByteString

type PCovariant' PByteString Source # 
Instance details

Defined in Plutarch.ByteString

type PInner PByteString Source # 
Instance details

Defined in Plutarch.ByteString

type PVariant' PByteString Source # 
Instance details

Defined in Plutarch.ByteString

type PTryFromExcess PData (PAsData PByteString) Source # 
Instance details

Defined in Plutarch.Builtin

type Rep (PByteString s) Source # 
Instance details

Defined in Plutarch.ByteString

type Rep (PByteString s) = D1 ('MetaData "PByteString" "Plutarch.ByteString" "plutarch-1.9.0-DaxzFvLNVysDL1hkJ4YFrw" 'True) (C1 ('MetaCons "PByteString" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s POpaque))))
type AsHaskell (PAsData PByteString) Source # 
Instance details

Defined in Plutarch.Builtin

type PlutusRepr (PAsData PByteString) Source # 
Instance details

Defined in Plutarch.Builtin

data PByte (s :: S) Source #

A Plutarch-level representation of bytes.

Note =

This type is intentionally quite restrictive, as it's not really meant to be computed with. Instead, it ensures certain operations' type safety while also allowing more sensible signatures. If you want to do anything with PBytes, we recommend converting them to PIntegers first.

@since WIP

Instances

Instances details
PEq PByte Source #

@since WIP

Instance details

Defined in Plutarch.ByteString

Methods

(#==) :: forall (s :: S). Term s PByte -> Term s PByte -> Term s PBool Source #

PLiftable PByte Source #

@since WIP

Instance details

Defined in Plutarch.ByteString

Associated Types

type AsHaskell PByte Source #

type PlutusRepr PByte Source #

POrd PByte Source #

@since WIP

Instance details

Defined in Plutarch.ByteString

Methods

pmax :: forall (s :: S). Term s PByte -> Term s PByte -> Term s PByte Source #

pmin :: forall (s :: S). Term s PByte -> Term s PByte -> Term s PByte Source #

PPartialOrd PByte Source #

@since WIP

Instance details

Defined in Plutarch.ByteString

Methods

(#<=) :: forall (s :: S). Term s PByte -> Term s PByte -> Term s PBool Source #

(#<) :: forall (s :: S). Term s PByte -> Term s PByte -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s PByte -> Term s PByte -> Term s PBool Source #

(#>) :: forall (s :: S). Term s PByte -> Term s PByte -> Term s PBool Source #

DerivePlutusType PByte Source #

@since WIP

Instance details

Defined in Plutarch.ByteString

Associated Types

type DPTStrat PByte Source #

PlutusType PByte Source # 
Instance details

Defined in Plutarch.ByteString

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 #

Generic (PByte s) Source # 
Instance details

Defined in Plutarch.ByteString

Associated Types

type Rep (PByte s) :: Type -> Type Source #

Methods

from :: PByte s -> Rep (PByte s) x Source #

to :: Rep (PByte s) x -> PByte s Source #

type AsHaskell PByte Source # 
Instance details

Defined in Plutarch.ByteString

type PlutusRepr PByte Source # 
Instance details

Defined in Plutarch.ByteString

type DPTStrat PByte Source # 
Instance details

Defined in Plutarch.ByteString

type PContravariant' PByte Source # 
Instance details

Defined in Plutarch.ByteString

type PCovariant' PByte Source # 
Instance details

Defined in Plutarch.ByteString

type PInner PByte Source #

@since WIP

Instance details

Defined in Plutarch.ByteString

type PVariant' PByte Source # 
Instance details

Defined in Plutarch.ByteString

type Rep (PByte s) Source #

@since WIP

Instance details

Defined in Plutarch.ByteString

type Rep (PByte s) = D1 ('MetaData "PByte" "Plutarch.ByteString" "plutarch-1.9.0-DaxzFvLNVysDL1hkJ4YFrw" 'True) (C1 ('MetaCons "PByte" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s POpaque))))

data PLogicOpSemantics (s :: S) Source #

Type designating whether logical operations should use padding or truncation semantics. See CIP-122 for more details on this.

@since WIP

Instances

Instances details
PEq PLogicOpSemantics Source #

@since WIP

Instance details

Defined in Plutarch.ByteString

Methods

(#==) :: forall (s :: S). Term s PLogicOpSemantics -> Term s PLogicOpSemantics -> Term s PBool Source #

POrd PLogicOpSemantics Source #

@since WIP

Instance details

Defined in Plutarch.ByteString

PPartialOrd PLogicOpSemantics Source #

@since WIP

Instance details

Defined in Plutarch.ByteString

DerivePlutusType PLogicOpSemantics Source #

@since WIP

Instance details

Defined in Plutarch.ByteString

Associated Types

type DPTStrat PLogicOpSemantics Source #

PlutusType PLogicOpSemantics Source # 
Instance details

Defined in Plutarch.ByteString

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 #

Generic (PLogicOpSemantics s) Source # 
Instance details

Defined in Plutarch.ByteString

Associated Types

type Rep (PLogicOpSemantics s) :: Type -> Type Source #

type DPTStrat PLogicOpSemantics Source # 
Instance details

Defined in Plutarch.ByteString

type PContravariant' PLogicOpSemantics Source # 
Instance details

Defined in Plutarch.ByteString

type PCovariant' PLogicOpSemantics Source # 
Instance details

Defined in Plutarch.ByteString

type PInner PLogicOpSemantics Source #

@since WIP

Instance details

Defined in Plutarch.ByteString

type PVariant' PLogicOpSemantics Source # 
Instance details

Defined in Plutarch.ByteString

type Rep (PLogicOpSemantics s) Source #

@since WIP

Instance details

Defined in Plutarch.ByteString

type Rep (PLogicOpSemantics s) = D1 ('MetaData "PLogicOpSemantics" "Plutarch.ByteString" "plutarch-1.9.0-DaxzFvLNVysDL1hkJ4YFrw" 'True) (C1 ('MetaCons "PLogicOpSemantics" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s PBool))))

Functions

Construction

ppadding :: forall (s :: S). Term s PLogicOpSemantics Source #

Indicates that padding semantics should be used.

@since WIP

ptruncation :: forall (s :: S). Term s PLogicOpSemantics Source #

Indicates that truncation semantics should be used.

@since WIP

pzeroesBS :: forall (s :: S). Term s (PInteger :--> PByteString) Source #

Construct a PByteString of the specified length (0 if negative) consisting entirely of zero bytes.

@since WIP

ponesBS :: forall (s :: S). Term s (PInteger :--> PByteString) Source #

Construct a PByteString of the specified length (0 if negative) consisting entirely of ones; that is, where every byte is 0xFF.

@since WIP

preplicateBS :: forall (s :: S). Term s (PInteger :--> (PByte :--> PByteString)) Source #

Given a desired length and a PByte, construct a PByteString of the specified length (0 if negative) consisting entirely of that PByte.

@since WIP

Byte-oriented

pandBS :: forall (s :: S). Term s (PLogicOpSemantics :--> (PByteString :--> (PByteString :--> PByteString))) Source #

Perform the logical AND of two PByteStrings, as per CIP-122. The PLogicOpSemantics argument specifies what should be done if the lengths of the two PByteString arguments do not match.

@since WIP

porBS :: forall (s :: S). Term s (PLogicOpSemantics :--> (PByteString :--> (PByteString :--> PByteString))) Source #

Perform the logical OR of two PByteStrings, as per CIP-122. The PLogicOpSemantics argument specifies what should be done if the lengths of the two PByteString arguments do not match.

@since WIP

pxorBS :: forall (s :: S). Term s (PLogicOpSemantics :--> (PByteString :--> (PByteString :--> PByteString))) Source #

Perform the logical XOR of two PByteStrings, as per CIP-122. The PLogicOpSemantics argument specifies what should be done if the lengths of the two PByteString arguments do not match.

@since WIP

pcomplementBS :: forall (s :: S). Term s (PByteString :--> PByteString) Source #

Perform the logical complement of a PByteString, as per CIP-122.

@since WIP

pconsBS :: Term s (PByte :--> (PByteString :--> PByteString)) Source #

Prepend a PByte to a 'PByteString.

@since WIP

psliceBS :: Term s (PInteger :--> (PInteger :--> (PByteString :--> PByteString))) Source #

Slice a PByteString with given start index and slice length.

>>> (pslice # 2 # 3 phexByteStr "4102afde5b2a") #== phexByteStr "afde5b"

pindexBS :: Term s (PByteString :--> (PInteger :--> PByte)) Source #

Given a valid index into a PByteString, returns the PByte at that index. Will crash if given an out-of-bounds index.

@since WIP

Conversion

pbyteToInteger :: Term s (PByte :--> PInteger) Source #

Convert a PByte into its corresponding PInteger.

@since WIP

pintegerToByte :: Term s (PInteger :--> PByte) Source #

Try to convert a PInteger into its corresponding PByte. This operation is checked, and will error if given a negative PInteger, or one too large to fit into a byte.

@since WIP

Other

phexByteStr :: HasCallStack => String -> Term s PByteString Source #

Interpret a hex string as a PByteString.

String and string utilities

data PString s Source #

Plutus BuiltinString values

Instances

Instances details
PEq PString Source # 
Instance details

Defined in Plutarch.String

Methods

(#==) :: forall (s :: S). Term s PString -> Term s PString -> Term s PBool Source #

PLiftable PString Source # 
Instance details

Defined in Plutarch.String

Associated Types

type AsHaskell PString Source #

type PlutusRepr PString Source #

DerivePlutusType PString Source # 
Instance details

Defined in Plutarch.String

Associated Types

type DPTStrat PString Source #

PlutusType PString Source # 
Instance details

Defined in Plutarch.String

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 #

PShow PString Source # 
Instance details

Defined in Plutarch.Show

Methods

pshow' :: forall (s :: S). Bool -> Term s PString -> Term s PString Source #

Generic (PString s) Source # 
Instance details

Defined in Plutarch.String

Associated Types

type Rep (PString s) :: Type -> Type Source #

Methods

from :: PString s -> Rep (PString s) x Source #

to :: Rep (PString s) x -> PString s Source #

IsString (Term s PString) Source # 
Instance details

Defined in Plutarch.String

Monoid (Term s PString) Source # 
Instance details

Defined in Plutarch.String

Semigroup (Term s PString) Source # 
Instance details

Defined in Plutarch.String

type AsHaskell PString Source #

@since WIP

Instance details

Defined in Plutarch.String

type PlutusRepr PString Source # 
Instance details

Defined in Plutarch.String

type DPTStrat PString Source # 
Instance details

Defined in Plutarch.String

type PContravariant' PString Source # 
Instance details

Defined in Plutarch.String

type PCovariant' PString Source # 
Instance details

Defined in Plutarch.String

type PInner PString Source # 
Instance details

Defined in Plutarch.String

type PVariant' PString Source # 
Instance details

Defined in Plutarch.String

type Rep (PString s) Source # 
Instance details

Defined in Plutarch.String

type Rep (PString s) = D1 ('MetaData "PString" "Plutarch.String" "plutarch-1.9.0-DaxzFvLNVysDL1hkJ4YFrw" 'True) (C1 ('MetaCons "PString" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s POpaque))))

pencodeUtf8 :: Term s (PString :--> PByteString) Source #

Encode a PString using UTF-8.

Unit type and utilities

data PUnit s Source #

Constructors

PUnit 

Instances

Instances details
PIsData (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Builtin

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData PUnit) -> Term s PUnit Source #

pdataImpl :: forall (s :: S). Term s PUnit -> Term s PData Source #

PEq (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

Methods

(#==) :: forall (s :: S). Term s PUnit -> Term s PUnit -> Term s PBool Source #

PLiftable (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

Associated Types

type AsHaskell PUnit Source #

type PlutusRepr PUnit Source #

POrd (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

Methods

pmax :: forall (s :: S). Term s PUnit -> Term s PUnit -> Term s PUnit Source #

pmin :: forall (s :: S). Term s PUnit -> Term s PUnit -> Term s PUnit Source #

PPartialOrd (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

Methods

(#<=) :: forall (s :: S). Term s PUnit -> Term s PUnit -> Term s PBool Source #

(#<) :: forall (s :: S). Term s PUnit -> Term s PUnit -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s PUnit -> Term s PUnit -> Term s PBool Source #

(#>) :: forall (s :: S). Term s PUnit -> Term s PUnit -> Term s PBool Source #

PlutusType (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

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 #

PShow (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

Methods

pshow' :: forall (s :: S). Bool -> Term s PUnit -> Term s PString Source #

Monoid (Term s (PUnit :: S -> Type)) Source # 
Instance details

Defined in Plutarch.Unit

Semigroup (Term s (PUnit :: S -> Type)) Source # 
Instance details

Defined in Plutarch.Unit

type AsHaskell (PUnit :: S -> Type) Source #

@since WIP

Instance details

Defined in Plutarch.Unit

type PlutusRepr (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

type PContravariant' (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

type PCovariant' (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

type PCovariant' (PUnit :: S -> Type)
type PInner (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

type PInner (PUnit :: S -> Type) = PUnit :: S -> Type
type PVariant' (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

type PVariant' (PUnit :: S -> Type)

Common list typeclass and utilities

class PListLike (list :: (S -> Type) -> S -> Type) where Source #

Plutarch types that behave like lists.

Minimal complete definition

pelimList, pcons, pnil

Associated Types

type PElemConstraint list (a :: S -> Type) :: Constraint Source #

Methods

pelimList :: PElemConstraint list a => (Term s a -> Term s (list a) -> Term s r) -> Term s r -> Term s (list a) -> Term s r Source #

Canonical eliminator for list-likes.

pcons :: PElemConstraint list a => Term s (a :--> (list a :--> list a)) Source #

Cons an element onto an existing list.

pnil :: PElemConstraint list a => Term s (list a) Source #

The empty list

phead :: PElemConstraint list a => Term s (list a :--> a) Source #

Return the first element of a list. Partial, throws an error upon encountering an empty list.

ptail :: PElemConstraint list a => Term s (list a :--> list a) Source #

Take the tail of a list, meaning drop its head. Partial, throws an error upon encountering an empty list.

pnull :: PElemConstraint list a => Term s (list a :--> PBool) Source #

O(1) . Check if a list is empty

Instances

Instances details
PListLike PBuiltinList Source # 
Instance details

Defined in Plutarch.Builtin

Associated Types

type PElemConstraint PBuiltinList a Source #

Methods

pelimList :: forall (a :: S -> Type) (s :: S) (r :: PType). PElemConstraint PBuiltinList a => (Term s a -> Term s (PBuiltinList a) -> Term s r) -> Term s r -> Term s (PBuiltinList a) -> Term s r Source #

pcons :: forall (a :: S -> Type) (s :: S). PElemConstraint PBuiltinList a => Term s (a :--> (PBuiltinList a :--> PBuiltinList a)) Source #

pnil :: forall (a :: S -> Type) (s :: S). PElemConstraint PBuiltinList a => Term s (PBuiltinList a) Source #

phead :: forall (a :: S -> Type) (s :: S). PElemConstraint PBuiltinList a => Term s (PBuiltinList a :--> a) Source #

ptail :: forall (a :: S -> Type) (s :: S). PElemConstraint PBuiltinList a => Term s (PBuiltinList a :--> PBuiltinList a) Source #

pnull :: forall (a :: S -> Type) (s :: S). PElemConstraint PBuiltinList a => Term s (PBuiltinList a :--> PBool) Source #

PListLike PTxList Source # 
Instance details

Defined in Plutarch.FFI

Associated Types

type PElemConstraint PTxList a Source #

Methods

pelimList :: forall (a :: S -> Type) (s :: S) (r :: PType). PElemConstraint PTxList a => (Term s a -> Term s (PTxList a) -> Term s r) -> Term s r -> Term s (PTxList a) -> Term s r Source #

pcons :: forall (a :: S -> Type) (s :: S). PElemConstraint PTxList a => Term s (a :--> (PTxList a :--> PTxList a)) Source #

pnil :: forall (a :: S -> Type) (s :: S). PElemConstraint PTxList a => Term s (PTxList a) Source #

phead :: forall (a :: S -> Type) (s :: S). PElemConstraint PTxList a => Term s (PTxList a :--> a) Source #

ptail :: forall (a :: S -> Type) (s :: S). PElemConstraint PTxList a => Term s (PTxList a :--> PTxList a) Source #

pnull :: forall (a :: S -> Type) (s :: S). PElemConstraint PTxList a => Term s (PTxList a :--> PBool) Source #

PListLike PList Source # 
Instance details

Defined in Plutarch.List

Associated Types

type PElemConstraint PList a Source #

Methods

pelimList :: forall (a :: S -> Type) (s :: S) (r :: PType). PElemConstraint PList a => (Term s a -> Term s (PList a) -> Term s r) -> Term s r -> Term s (PList a) -> Term s r Source #

pcons :: forall (a :: S -> Type) (s :: S). PElemConstraint PList a => Term s (a :--> (PList a :--> PList a)) Source #

pnil :: forall (a :: S -> Type) (s :: S). PElemConstraint PList a => Term s (PList a) Source #

phead :: forall (a :: S -> Type) (s :: S). PElemConstraint PList a => Term s (PList a :--> a) Source #

ptail :: forall (a :: S -> Type) (s :: S). PElemConstraint PList a => Term s (PList a :--> PList a) Source #

pnull :: forall (a :: S -> Type) (s :: S). PElemConstraint PList a => Term s (PList a :--> PBool) Source #

type PIsListLike list a = (PListLike list, PElemConstraint list a) Source #

'PIsListLike list a' constraints list be a PListLike with valid element type, a.

plistEquals :: (PIsListLike list a, PEq a) => Term s (list a :--> (list a :--> PBool)) Source #

O(min(n, m)) . Check if two lists are equal.

pelem :: (PIsListLike list a, PEq a) => Term s (a :--> (list a :--> PBool)) Source #

O(n) . Check if element is in the list

pelemAt :: PIsListLike l a => Term s (PInteger :--> (l a :--> a)) Source #

O(n) . Like Haskell level (!!) but on the Plutarch level, not infix and with arguments reversed, errors if the specified index is greater than or equal to the lists length

plength :: PIsListLike list a => Term s (list a :--> PInteger) Source #

O(n) . Count the number of elements in the list

ptryIndex :: PIsListLike list a => Natural -> Term s (list a) -> Term s a Source #

Index a BuiltinList, throwing an error if the index is out of bounds.

pdrop :: PIsListLike list a => Natural -> Term s (list a) -> Term s (list a) Source #

Drop the first n fields of a List.

The term will be statically generated as repeated applications of ptail, which will be more efficient in many circumstances.

psingleton :: PIsListLike list a => Term s (a :--> list a) Source #

O(1) . Create a singleton list from an element

pconcat :: PIsListLike list a => Term s (list a :--> (list a :--> list a)) Source #

O(n) . Concatenate two lists

Example: > pconcat # psingleton x # psingleton y == plistLiteral [x, y]

pconcat exhibits identities with empty lists such that > forall x. pconcat # pnil # x == x > forall x. pconcat # x # pnil == x

pzipWith :: (PListLike list, PElemConstraint list a, PElemConstraint list b, PElemConstraint list c) => Term s ((a :--> (b :--> c)) :--> (list a :--> (list b :--> list c))) Source #

O(min(n, m)) . Zip two lists together with a passed function.

If the lists are of differing lengths, cut to the shortest.

pzipWith' :: (PListLike list, PElemConstraint list a, PElemConstraint list b, PElemConstraint list c) => (Term s a -> Term s b -> Term s c) -> Term s (list a :--> (list b :--> list c)) Source #

Like pzipWith but with Haskell-level merge function.

pzip :: (PListLike list, PElemConstraint list a, PElemConstraint list b, PElemConstraint list (PPair a b)) => Term s (list a :--> (list b :--> list (PPair a b))) Source #

O(min(n, m)) . Zip two lists together, creating pairs of the elements.

If the lists are of differing lengths, cut to the shortest.

pmap :: (PListLike list, PElemConstraint list a, PElemConstraint list b) => Term s ((a :--> b) :--> (list a :--> list b)) Source #

O(n) . Map a function over a list of elements

pfilter :: PIsListLike list a => Term s ((a :--> PBool) :--> (list a :--> list a)) Source #

O(n) . Filter elements from a list that don't match the predicate.

pfind :: PIsListLike l a => Term s ((a :--> PBool) :--> (l a :--> PMaybe a)) Source #

O(n) . like haskell level find but on plutarch level

precList :: PIsListLike list a => (Term s (list a :--> r) -> Term s a -> Term s (list a) -> Term s r) -> (Term s (list a :--> r) -> Term s r) -> Term s (list a :--> r) Source #

Like pelimList, but with a fixpoint recursion hatch.

pfoldr :: PIsListLike list a => Term s ((a :--> (b :--> b)) :--> (b :--> (list a :--> b))) Source #

O(n) . Fold on a list right-associatively.

pfoldrLazy :: PIsListLike list a => Term s ((a :--> (PDelayed b :--> b)) :--> (b :--> (list a :--> b))) Source #

O(n) . Fold on a list right-associatively, with opportunity for short circuting.

May short circuit when given reducer function is lazy in its second argument.

pfoldl :: PIsListLike list a => Term s ((b :--> (a :--> b)) :--> (b :--> (list a :--> b))) Source #

O(n) . Fold on a list left-associatively.

pall :: PIsListLike list a => Term s ((a :--> PBool) :--> (list a :--> PBool)) Source #

O(n) . Check that predicate holds for all elements in a list.

pany :: PIsListLike list a => Term s ((a :--> PBool) :--> (list a :--> PBool)) Source #

O(n) . Check that predicate holds for any element in a list.

(#!!) :: PIsListLike l a => Term s (l a) -> Term s PInteger -> Term s a Source #

O(n) . Like Haskell level (!!) but on the plutarch level

Scott encoded list type

data PList (a :: S -> Type) (s :: S) Source #

Constructors

PSCons (Term s a) (Term s (PList a)) 
PSNil 

Instances

Instances details
PListLike PList Source # 
Instance details

Defined in Plutarch.List

Associated Types

type PElemConstraint PList a Source #

Methods

pelimList :: forall (a :: S -> Type) (s :: S) (r :: PType). PElemConstraint PList a => (Term s a -> Term s (PList a) -> Term s r) -> Term s r -> Term s (PList a) -> Term s r Source #

pcons :: forall (a :: S -> Type) (s :: S). PElemConstraint PList a => Term s (a :--> (PList a :--> PList a)) Source #

pnil :: forall (a :: S -> Type) (s :: S). PElemConstraint PList a => Term s (PList a) Source #

phead :: forall (a :: S -> Type) (s :: S). PElemConstraint PList a => Term s (PList a :--> a) Source #

ptail :: forall (a :: S -> Type) (s :: S). PElemConstraint PList a => Term s (PList a :--> PList a) Source #

pnull :: forall (a :: S -> Type) (s :: S). PElemConstraint PList a => Term s (PList a :--> PBool) Source #

PEq a => PEq (PList a) Source # 
Instance details

Defined in Plutarch.List

Methods

(#==) :: forall (s :: S). Term s (PList a) -> Term s (PList a) -> Term s PBool Source #

DerivePlutusType (PList a) Source # 
Instance details

Defined in Plutarch.List

Associated Types

type DPTStrat (PList a) 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 #

PShow a => PShow (PList a) Source # 
Instance details

Defined in Plutarch.List

Methods

pshow' :: forall (s :: S). Bool -> Term s (PList a) -> Term s PString Source #

Generic (PList a s) Source # 
Instance details

Defined in Plutarch.List

Associated Types

type Rep (PList a s) :: Type -> Type Source #

Methods

from :: PList a s -> Rep (PList a s) x Source #

to :: Rep (PList a s) x -> PList a s Source #

type PElemConstraint PList _1 Source # 
Instance details

Defined in Plutarch.List

type PElemConstraint PList _1 = ()
type DPTStrat (PList a) Source # 
Instance details

Defined in Plutarch.List

type PContravariant' (PList a) Source # 
Instance details

Defined in Plutarch.List

type PCovariant' (PList a) Source # 
Instance details

Defined in Plutarch.List

type PInner (PList a) Source # 
Instance details

Defined in Plutarch.List

type PVariant' (PList a) Source # 
Instance details

Defined in Plutarch.List

type PVariant' (PList a)
type Rep (PList a s) Source # 
Instance details

Defined in Plutarch.List

type Rep (PList a s) = D1 ('MetaData "PList" "Plutarch.List" "plutarch-1.9.0-DaxzFvLNVysDL1hkJ4YFrw" 'False) (C1 ('MetaCons "PSCons" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s (PList a)))) :+: C1 ('MetaCons "PSNil" 'PrefixI 'False) (U1 :: Type -> Type))

Scott encoded maybe type and utilities

data PMaybe (a :: S -> Type) (s :: S) Source #

Plutus Maybe type, with Scott-encoded repr

Constructors

PJust (Term s a) 
PNothing 

Instances

Instances details
PEq a => PEq (PMaybe a) Source # 
Instance details

Defined in Plutarch.Maybe

Methods

(#==) :: forall (s :: S). Term s (PMaybe a) -> Term s (PMaybe a) -> Term s PBool Source #

PLiftable a => PLiftable (PMaybe a) Source #

@since WIP

Instance details

Defined in Plutarch.Maybe

Associated Types

type AsHaskell (PMaybe a) Source #

type PlutusRepr (PMaybe a) Source #

DerivePlutusType (PMaybe a) Source # 
Instance details

Defined in Plutarch.Maybe

Associated Types

type DPTStrat (PMaybe a) 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 #

PShow a => PShow (PMaybe a) Source # 
Instance details

Defined in Plutarch.Maybe

Methods

pshow' :: forall (s :: S). Bool -> Term s (PMaybe a) -> Term s PString Source #

Generic (PMaybe a s) Source # 
Instance details

Defined in Plutarch.Maybe

Associated Types

type Rep (PMaybe a s) :: Type -> Type Source #

Methods

from :: PMaybe a s -> Rep (PMaybe a s) x Source #

to :: Rep (PMaybe a s) x -> PMaybe a s Source #

type AsHaskell (PMaybe a) Source # 
Instance details

Defined in Plutarch.Maybe

type PlutusRepr (PMaybe a) Source # 
Instance details

Defined in Plutarch.Maybe

type DPTStrat (PMaybe a) Source # 
Instance details

Defined in Plutarch.Maybe

type PContravariant' (PMaybe a) Source # 
Instance details

Defined in Plutarch.Maybe

type PCovariant' (PMaybe a) Source # 
Instance details

Defined in Plutarch.Maybe

type PInner (PMaybe a) Source # 
Instance details

Defined in Plutarch.Maybe

type PVariant' (PMaybe a) Source # 
Instance details

Defined in Plutarch.Maybe

type PVariant' (PMaybe a)
type Rep (PMaybe a s) Source # 
Instance details

Defined in Plutarch.Maybe

type Rep (PMaybe a s) = D1 ('MetaData "PMaybe" "Plutarch.Maybe" "plutarch-1.9.0-DaxzFvLNVysDL1hkJ4YFrw" 'False) (C1 ('MetaCons "PJust" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s a))) :+: C1 ('MetaCons "PNothing" 'PrefixI 'False) (U1 :: Type -> Type))

Scott encoded either type and utilities

data PEither (a :: S -> Type) (b :: S -> Type) (s :: S) Source #

Scott-encoded Either.

Constructors

PLeft (Term s a) 
PRight (Term s b) 

Instances

Instances details
(PEq a, PEq b) => PEq (PEither a b) Source # 
Instance details

Defined in Plutarch.Either

Methods

(#==) :: forall (s :: S). Term s (PEither a b) -> Term s (PEither a b) -> Term s PBool Source #

(PLiftable a, PLiftable b) => PLiftable (PEither a b) Source #

@since WIP

Instance details

Defined in Plutarch.Either

Associated Types

type AsHaskell (PEither a b) Source #

type PlutusRepr (PEither a b) Source #

DerivePlutusType (PEither a b) Source # 
Instance details

Defined in Plutarch.Either

Associated Types

type DPTStrat (PEither a b) 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 #

(PShow a, PShow b) => PShow (PEither a b) Source # 
Instance details

Defined in Plutarch.Either

Methods

pshow' :: forall (s :: S). Bool -> Term s (PEither a b) -> Term s PString Source #

Generic (PEither a b s) Source # 
Instance details

Defined in Plutarch.Either

Associated Types

type Rep (PEither a b s) :: Type -> Type Source #

Methods

from :: PEither a b s -> Rep (PEither a b s) x Source #

to :: Rep (PEither a b s) x -> PEither a b s Source #

type AsHaskell (PEither a b) Source # 
Instance details

Defined in Plutarch.Either

type PlutusRepr (PEither a b) Source # 
Instance details

Defined in Plutarch.Either

type DPTStrat (PEither a b) Source # 
Instance details

Defined in Plutarch.Either

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

Defined in Plutarch.Either

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

Defined in Plutarch.Either

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

Defined in Plutarch.Either

type PInner (PEither a b) = DerivedPInner (DPTStrat (PEither a b)) (PEither a b)
type PVariant' (PEither a b) Source # 
Instance details

Defined in Plutarch.Either

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

Defined in Plutarch.Either

type Rep (PEither a b s) = D1 ('MetaData "PEither" "Plutarch.Either" "plutarch-1.9.0-DaxzFvLNVysDL1hkJ4YFrw" 'False) (C1 ('MetaCons "PLeft" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s a))) :+: C1 ('MetaCons "PRight" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s b))))

Scott encoded pair type and utilities

data PPair (a :: PType) (b :: PType) (s :: S) Source #

Plutus encoding of Pairs.

Note: This is represented differently than BuiltinPair. It is scott-encoded.

Constructors

PPair (Term s a) (Term s b) 

Instances

Instances details
(PEq a, PEq b) => PEq (PPair a b) Source # 
Instance details

Defined in Plutarch.Pair

Methods

(#==) :: forall (s :: S). Term s (PPair a b) -> Term s (PPair a b) -> Term s PBool Source #

DerivePlutusType (PPair a b) Source # 
Instance details

Defined in Plutarch.Pair

Associated Types

type DPTStrat (PPair a b) 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 #

(PShow a, PShow b) => PShow (PPair a b) Source # 
Instance details

Defined in Plutarch.Pair

Methods

pshow' :: forall (s :: S). Bool -> Term s (PPair a b) -> Term s PString Source #

Generic (PPair a b s) Source # 
Instance details

Defined in Plutarch.Pair

Associated Types

type Rep (PPair a b s) :: Type -> Type Source #

Methods

from :: PPair a b s -> Rep (PPair a b s) x Source #

to :: Rep (PPair a b s) x -> PPair a b s Source #

type DPTStrat (PPair a b) Source # 
Instance details

Defined in Plutarch.Pair

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

Defined in Plutarch.Pair

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

Defined in Plutarch.Pair

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

Defined in Plutarch.Pair

type PInner (PPair a b) = DerivedPInner (DPTStrat (PPair a b)) (PPair a b)
type PVariant' (PPair a b) Source # 
Instance details

Defined in Plutarch.Pair

type PVariant' (PPair a b)
type Rep (PPair a b s) Source # 
Instance details

Defined in Plutarch.Pair

type Rep (PPair a b s) = D1 ('MetaData "PPair" "Plutarch.Pair" "plutarch-1.9.0-DaxzFvLNVysDL1hkJ4YFrw" 'False) (C1 ('MetaCons "PPair" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s b))))

Opaque type

newtype POpaque s Source #

An Arbitrary Term with an unknown type

Constructors

POpaque (Term s POpaque) 

Instances

Instances details
PlutusType POpaque Source # 
Instance details

Defined in Plutarch.Internal.Other

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 #

type PContravariant' POpaque Source # 
Instance details

Defined in Plutarch.Internal.Other

type PCovariant' POpaque Source # 
Instance details

Defined in Plutarch.Internal.Other

type PInner POpaque Source # 
Instance details

Defined in Plutarch.Internal.Other

type PVariant' POpaque Source # 
Instance details

Defined in Plutarch.Internal.Other

type PVariant' POpaque = ()

popaque :: Term s a -> Term s POpaque Source #

Erase the type of a Term

Builtin types and utilities

data PData (s :: S) Source #

Instances

Instances details
PIsData PData Source # 
Instance details

Defined in Plutarch.Builtin

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData PData) -> Term s PData Source #

pdataImpl :: forall (s :: S). Term s PData -> Term s PData Source #

PEq PData Source # 
Instance details

Defined in Plutarch.Builtin

Methods

(#==) :: forall (s :: S). Term s PData -> Term s PData -> Term s PBool Source #

PLiftable PData Source # 
Instance details

Defined in Plutarch.Builtin

Associated Types

type AsHaskell PData Source #

type PlutusRepr PData Source #

PlutusType PData Source # 
Instance details

Defined in Plutarch.Builtin

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 #

PShow PData Source # 
Instance details

Defined in Plutarch.Builtin

Methods

pshow' :: forall (s :: S). Bool -> Term s PData -> Term s PString Source #

PTryFrom PData PData Source # 
Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData PData :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s PData, Reduce (PTryFromExcess PData PData s)) -> Term s r) -> Term s r Source #

(PTryFrom PData (PAsData a), PIsData a) => PTryFrom PData (PAsData (PBuiltinList (PAsData a))) Source #

Recover a `PBuiltinList (PAsData a)`

Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData (PAsData (PBuiltinList (PAsData a))) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PBuiltinList (PAsData a))), Reduce (PTryFromExcess PData (PAsData (PBuiltinList (PAsData a))) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData (PBuiltinList PData)) Source #

This verifies a list to be indeed a list but doesn't recover the inner data use this instance instead of the one for `PData (PAsData (PBuiltinList (PAsData a)))` as this is O(1) instead of O(n)

Instance details

Defined in Plutarch.Builtin

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PBuiltinList PData)), Reduce (PTryFromExcess PData (PAsData (PBuiltinList PData)) s)) -> Term s r) -> Term s r Source #

(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)`

Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData (PAsData (PBuiltinPair a b)) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PBuiltinPair a b)), Reduce (PTryFromExcess PData (PAsData (PBuiltinPair a b)) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData PData) Source # 
Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData (PAsData PData) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PData), Reduce (PTryFromExcess PData (PAsData PData) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData (PDataNewtype a)) Source #

Since: 1.7.0

Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData (PAsData (PDataNewtype a)) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PDataNewtype a)), Reduce (PTryFromExcess PData (PAsData (PDataNewtype a)) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData PBool) Source #

Since: 1.7.0

Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData (PAsData PBool) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PBool), Reduce (PTryFromExcess PData (PAsData PBool) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData PByteString) Source # 
Instance details

Defined in Plutarch.Builtin

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PByteString), Reduce (PTryFromExcess PData (PAsData PByteString) s)) -> Term s r) -> Term s r Source #

(PTryFrom (PBuiltinList PData) (PDataRecord as), PTryFromExcess (PBuiltinList PData) (PDataRecord as) ~ HRecP ase) => PTryFrom PData (PAsData (PDataRecord as)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Associated Types

type PTryFromExcess PData (PAsData (PDataRecord as)) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PDataRecord as)), Reduce (PTryFromExcess PData (PAsData (PDataRecord as)) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PDataSum ys) => PTryFrom PData (PAsData (PDataSum ys)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Associated Types

type PTryFromExcess PData (PAsData (PDataSum ys)) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PDataSum ys)), Reduce (PTryFromExcess PData (PAsData (PDataSum ys)) s)) -> Term s r) -> Term s r Source #

(PTryFrom PData a, PTryFrom PData b) => PTryFrom PData (PAsData (PEitherData a b)) Source #

@since WIP

Instance details

Defined in Plutarch.Either

Associated Types

type PTryFromExcess PData (PAsData (PEitherData a b)) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PEitherData a b)), Reduce (PTryFromExcess PData (PAsData (PEitherData a b)) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData PInteger) Source # 
Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData (PAsData PInteger) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PInteger), Reduce (PTryFromExcess PData (PAsData PInteger) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData PPositive) Source # 
Instance details

Defined in Plutarch.Positive

Associated Types

type PTryFromExcess PData (PAsData PPositive) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PPositive), Reduce (PTryFromExcess PData (PAsData PPositive) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData PRational) Source #

NOTE: This instance produces a verified PPositive as the excess output.

Instance details

Defined in Plutarch.Rational

Associated Types

type PTryFromExcess PData (PAsData PRational) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PRational), Reduce (PTryFromExcess PData (PAsData PRational) s)) -> Term s r) -> Term s r Source #

(PIsData a, PTryFrom PData (PAsData a)) => PTryFrom PData (PDataNewtype a) Source #

Since: 1.7.0

Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData (PDataNewtype a) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PDataNewtype a), Reduce (PTryFromExcess PData (PDataNewtype a) s)) -> Term s r) -> Term s r Source #

SumValidation 0 ys => PTryFrom PData (PDataSum ys) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Associated Types

type PTryFromExcess PData (PDataSum ys) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PDataSum ys), Reduce (PTryFromExcess PData (PDataSum ys) s)) -> Term s r) -> Term s r Source #

(PTryFrom PData a, PTryFrom PData b) => PTryFrom PData (PEitherData a b) Source #

@since WIP

Instance details

Defined in Plutarch.Either

Associated Types

type PTryFromExcess PData (PEitherData a b) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PEitherData a b), Reduce (PTryFromExcess PData (PEitherData a b) s)) -> Term s r) -> Term s r Source #

PLiftable (PAsData PData) Source # 
Instance details

Defined in Plutarch.Builtin

Associated Types

type AsHaskell (PAsData PData) Source #

type PlutusRepr (PAsData PData) Source #

(Helper2 (PSubtype' PData pty) pty, PTryFrom (PBuiltinList PData) (PDataRecord as), PTryFromExcess (PBuiltinList PData) (PDataRecord as) ~ HRecP ase) => PTryFrom (PBuiltinList PData) (PDataRecord ((name ':= pty) ': as)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Associated Types

type PTryFromExcess (PBuiltinList PData) (PDataRecord ((name ':= pty) ': as)) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s (PBuiltinList PData) -> ((Term s (PDataRecord ((name ':= pty) ': as)), Reduce (PTryFromExcess (PBuiltinList PData) (PDataRecord ((name ':= pty) ': as)) s)) -> Term s r) -> Term s r Source #

PTryFrom (PBuiltinList PData) (PDataRecord ('[] :: [PLabeledType])) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Associated Types

type PTryFromExcess (PBuiltinList PData) (PDataRecord '[]) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s (PBuiltinList PData) -> ((Term s (PDataRecord '[]), Reduce (PTryFromExcess (PBuiltinList PData) (PDataRecord '[]) s)) -> Term s r) -> Term s r Source #

PIsData (PBuiltinPair PData PData) Source # 
Instance details

Defined in Plutarch.Builtin

PIsData (PBuiltinPair PInteger (PBuiltinList PData)) Source # 
Instance details

Defined in Plutarch.Builtin

type AsHaskell PData Source #

@since WIP

Instance details

Defined in Plutarch.Builtin

type PlutusRepr PData Source # 
Instance details

Defined in Plutarch.Builtin

type PContravariant' PData Source # 
Instance details

Defined in Plutarch.Builtin

type PCovariant' PData Source # 
Instance details

Defined in Plutarch.Builtin

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

Defined in Plutarch.Builtin

type PVariant' PData Source # 
Instance details

Defined in Plutarch.Builtin

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

Defined in Plutarch.Builtin

type PTryFromExcess PData (PAsData (PBuiltinList (PAsData a))) Source # 
Instance details

Defined in Plutarch.Builtin

type PTryFromExcess PData (PAsData (PBuiltinList PData)) Source # 
Instance details

Defined in Plutarch.Builtin

type PTryFromExcess PData (PAsData (PBuiltinPair a b)) Source # 
Instance details

Defined in Plutarch.Builtin

type PTryFromExcess PData (PAsData PData) Source # 
Instance details

Defined in Plutarch.Builtin

type PTryFromExcess PData (PAsData (PDataNewtype a)) Source # 
Instance details

Defined in Plutarch.Builtin

type PTryFromExcess PData (PAsData PBool) Source # 
Instance details

Defined in Plutarch.Builtin

type PTryFromExcess PData (PAsData PByteString) Source # 
Instance details

Defined in Plutarch.Builtin

type PTryFromExcess PData (PAsData (PDataRecord as)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

type PTryFromExcess PData (PAsData (PDataSum ys)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

type PTryFromExcess PData (PAsData (PEitherData a b)) Source # 
Instance details

Defined in Plutarch.Either

type PTryFromExcess PData (PAsData PInteger) Source # 
Instance details

Defined in Plutarch.Builtin

type PTryFromExcess PData (PAsData PPositive) Source # 
Instance details

Defined in Plutarch.Positive

type PTryFromExcess PData (PAsData PRational) Source # 
Instance details

Defined in Plutarch.Rational

type PTryFromExcess PData (PDataNewtype a) Source # 
Instance details

Defined in Plutarch.Builtin

type PTryFromExcess PData (PDataSum ys) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

type PTryFromExcess PData (PDataSum ys) = Const () :: S -> Type
type PTryFromExcess PData (PEitherData a b) Source # 
Instance details

Defined in Plutarch.Either

type AsHaskell (PAsData PData) Source # 
Instance details

Defined in Plutarch.Builtin

type PlutusRepr (PAsData PData) Source # 
Instance details

Defined in Plutarch.Builtin

type PlutusRepr (PAsData PData) = Data
type PTryFromExcess (PBuiltinList PData) (PDataRecord ((name ':= pty) ': as)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

type PTryFromExcess (PBuiltinList PData) (PDataRecord ((name ':= pty) ': as))
type PTryFromExcess (PBuiltinList PData) (PDataRecord ('[] :: [PLabeledType])) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

data PBuiltinPair (a :: S -> Type) (b :: S -> Type) (s :: S) Source #

Plutus BuiltinPair

Instances

Instances details
(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)`

Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData (PAsData (PBuiltinPair a b)) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PBuiltinPair a b)), Reduce (PTryFromExcess PData (PAsData (PBuiltinPair a b)) s)) -> Term s r) -> Term s r Source #

PIsData (PBuiltinPair (PAsData a) (PAsData b)) Source # 
Instance details

Defined in Plutarch.Builtin

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData (PBuiltinPair (PAsData a) (PAsData b))) -> Term s (PBuiltinPair (PAsData a) (PAsData b)) Source #

pdataImpl :: forall (s :: S). Term s (PBuiltinPair (PAsData a) (PAsData b)) -> Term s PData Source #

PIsData (PBuiltinPair PData PData) Source # 
Instance details

Defined in Plutarch.Builtin

PIsData (PBuiltinPair PInteger (PBuiltinList PData)) Source # 
Instance details

Defined in Plutarch.Builtin

(PEq a, PEq b) => PEq (PBuiltinPair a b) Source # 
Instance details

Defined in Plutarch.Builtin

Methods

(#==) :: forall (s :: S). Term s (PBuiltinPair a b) -> Term s (PBuiltinPair a b) -> Term s PBool Source #

(PLiftable a, Contains DefaultUni (PlutusRepr a), PLiftable b, Contains DefaultUni (PlutusRepr b)) => PLiftable (PBuiltinPair a b) Source #

@since WIP

Instance details

Defined in Plutarch.Builtin

Associated Types

type AsHaskell (PBuiltinPair a b) Source #

type PlutusRepr (PBuiltinPair a b) Source #

PlutusType (PBuiltinPair a b) Source # 
Instance details

Defined in Plutarch.Builtin

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 #

(PShow a, PShow b) => PShow (PBuiltinPair a b) Source # 
Instance details

Defined in Plutarch.Builtin

Methods

pshow' :: forall (s :: S). Bool -> Term s (PBuiltinPair a b) -> Term s PString Source #

type PTryFromExcess PData (PAsData (PBuiltinPair a b)) Source # 
Instance details

Defined in Plutarch.Builtin

type AsHaskell (PBuiltinPair a b) Source # 
Instance details

Defined in Plutarch.Builtin

type PlutusRepr (PBuiltinPair a b) Source # 
Instance details

Defined in Plutarch.Builtin

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

Defined in Plutarch.Builtin

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

Defined in Plutarch.Builtin

type PInner (PBuiltinPair a b) Source # 
Instance details

Defined in Plutarch.Builtin

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

Defined in Plutarch.Builtin

data PBuiltinList (a :: S -> Type) (s :: S) Source #

Plutus BuiltinList

Constructors

PCons (Term s a) (Term s (PBuiltinList a)) 
PNil 

Instances

Instances details
PListLike PBuiltinList Source # 
Instance details

Defined in Plutarch.Builtin

Associated Types

type PElemConstraint PBuiltinList a Source #

Methods

pelimList :: forall (a :: S -> Type) (s :: S) (r :: PType). PElemConstraint PBuiltinList a => (Term s a -> Term s (PBuiltinList a) -> Term s r) -> Term s r -> Term s (PBuiltinList a) -> Term s r Source #

pcons :: forall (a :: S -> Type) (s :: S). PElemConstraint PBuiltinList a => Term s (a :--> (PBuiltinList a :--> PBuiltinList a)) Source #

pnil :: forall (a :: S -> Type) (s :: S). PElemConstraint PBuiltinList a => Term s (PBuiltinList a) Source #

phead :: forall (a :: S -> Type) (s :: S). PElemConstraint PBuiltinList a => Term s (PBuiltinList a :--> a) Source #

ptail :: forall (a :: S -> Type) (s :: S). PElemConstraint PBuiltinList a => Term s (PBuiltinList a :--> PBuiltinList a) Source #

pnull :: forall (a :: S -> Type) (s :: S). PElemConstraint PBuiltinList a => Term s (PBuiltinList a :--> PBool) Source #

(PTryFrom PData (PAsData a), PIsData a) => PTryFrom PData (PAsData (PBuiltinList (PAsData a))) Source #

Recover a `PBuiltinList (PAsData a)`

Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData (PAsData (PBuiltinList (PAsData a))) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PBuiltinList (PAsData a))), Reduce (PTryFromExcess PData (PAsData (PBuiltinList (PAsData a))) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData (PBuiltinList PData)) Source #

This verifies a list to be indeed a list but doesn't recover the inner data use this instance instead of the one for `PData (PAsData (PBuiltinList (PAsData a)))` as this is O(1) instead of O(n)

Instance details

Defined in Plutarch.Builtin

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PBuiltinList PData)), Reduce (PTryFromExcess PData (PAsData (PBuiltinList PData)) s)) -> Term s r) -> Term s r Source #

PSubtype PData a => PIsData (PBuiltinList a) Source # 
Instance details

Defined in Plutarch.Builtin

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData (PBuiltinList a)) -> Term s (PBuiltinList a) Source #

pdataImpl :: forall (s :: S). Term s (PBuiltinList a) -> Term s PData Source #

Fc (F a) a => PEq (PBuiltinList a) Source # 
Instance details

Defined in Plutarch.Builtin

Methods

(#==) :: forall (s :: S). Term s (PBuiltinList a) -> Term s (PBuiltinList a) -> Term s PBool Source #

(PLiftable a, Contains DefaultUni (PlutusRepr a)) => PLiftable (PBuiltinList a) Source #

@since WIP

Instance details

Defined in Plutarch.Builtin

Associated Types

type AsHaskell (PBuiltinList a) Source #

type PlutusRepr (PBuiltinList a) Source #

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

Defined in Plutarch.Builtin

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 #

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

Defined in Plutarch.Builtin

Methods

pshow' :: forall (s :: S). Bool -> Term s (PBuiltinList a) -> Term s PString Source #

(Helper2 (PSubtype' PData pty) pty, PTryFrom (PBuiltinList PData) (PDataRecord as), PTryFromExcess (PBuiltinList PData) (PDataRecord as) ~ HRecP ase) => PTryFrom (PBuiltinList PData) (PDataRecord ((name ':= pty) ': as)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Associated Types

type PTryFromExcess (PBuiltinList PData) (PDataRecord ((name ':= pty) ': as)) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s (PBuiltinList PData) -> ((Term s (PDataRecord ((name ':= pty) ': as)), Reduce (PTryFromExcess (PBuiltinList PData) (PDataRecord ((name ':= pty) ': as)) s)) -> Term s r) -> Term s r Source #

PTryFrom (PBuiltinList PData) (PDataRecord ('[] :: [PLabeledType])) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Associated Types

type PTryFromExcess (PBuiltinList PData) (PDataRecord '[]) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s (PBuiltinList PData) -> ((Term s (PDataRecord '[]), Reduce (PTryFromExcess (PBuiltinList PData) (PDataRecord '[]) s)) -> Term s r) -> Term s r Source #

PIsData (PBuiltinPair PInteger (PBuiltinList PData)) Source # 
Instance details

Defined in Plutarch.Builtin

type PElemConstraint PBuiltinList a Source # 
Instance details

Defined in Plutarch.Builtin

type PElemConstraint PBuiltinList a = Contains DefaultUni (PlutusRepr a)
type PTryFromExcess PData (PAsData (PBuiltinList (PAsData a))) Source # 
Instance details

Defined in Plutarch.Builtin

type PTryFromExcess PData (PAsData (PBuiltinList PData)) Source # 
Instance details

Defined in Plutarch.Builtin

type AsHaskell (PBuiltinList a) Source # 
Instance details

Defined in Plutarch.Builtin

type PlutusRepr (PBuiltinList a) Source # 
Instance details

Defined in Plutarch.Builtin

type PContravariant' (PBuiltinList a) Source # 
Instance details

Defined in Plutarch.Builtin

type PCovariant' (PBuiltinList a) Source # 
Instance details

Defined in Plutarch.Builtin

type PInner (PBuiltinList a) Source # 
Instance details

Defined in Plutarch.Builtin

type PVariant' (PBuiltinList a) Source # 
Instance details

Defined in Plutarch.Builtin

type PTryFromExcess (PBuiltinList PData) (PDataRecord ((name ':= pty) ': as)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

type PTryFromExcess (PBuiltinList PData) (PDataRecord ((name ':= pty) ': as))
type PTryFromExcess (PBuiltinList PData) (PDataRecord ('[] :: [PLabeledType])) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

class PIsData a Source #

Laws: - If PSubtype PData a, then pdataImpl a must be pupcast. - pdataImpl . pupcast . pfromDataImpl ≡ id - pfromDataImpl . punsafeDowncast . pdataImpl ≡ id

Instances

Instances details
PIsData PData Source # 
Instance details

Defined in Plutarch.Builtin

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData PData) -> Term s PData Source #

pdataImpl :: forall (s :: S). Term s PData -> Term s PData Source #

PIsData PBool Source #

Instance for PBool following the Plutus IsData repr given by makeIsDataIndexed ''Bool [('False,0),('True,1)], which is used in TxInfo via Closure.

Instance details

Defined in Plutarch.Builtin

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData PBool) -> Term s PBool Source #

pdataImpl :: forall (s :: S). Term s PBool -> Term s PData Source #

PIsData PByteString Source # 
Instance details

Defined in Plutarch.Builtin

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData PByteString) -> Term s PByteString Source #

pdataImpl :: forall (s :: S). Term s PByteString -> Term s PData Source #

PIsData PInteger Source # 
Instance details

Defined in Plutarch.Builtin

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData PInteger) -> Term s PInteger Source #

pdataImpl :: forall (s :: S). Term s PInteger -> Term s PData Source #

PIsData PPositive Source # 
Instance details

Defined in Plutarch.Positive

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData PPositive) -> Term s PPositive Source #

pdataImpl :: forall (s :: S). Term s PPositive -> Term s PData Source #

PIsData PRational Source #

This instance _does not_ correspond to Rationals data encoding.

Instance details

Defined in Plutarch.Rational

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData PRational) -> Term s PRational Source #

pdataImpl :: forall (s :: S). Term s PRational -> Term s PData Source #

PSubtype PData a => PIsData (PBuiltinList a) Source # 
Instance details

Defined in Plutarch.Builtin

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData (PBuiltinList a)) -> Term s (PBuiltinList a) Source #

pdataImpl :: forall (s :: S). Term s (PBuiltinList a) -> Term s PData Source #

PIsData (PDataNewtype a) Source #

Since: 1.7.0

Instance details

Defined in Plutarch.Builtin

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData (PDataNewtype a)) -> Term s (PDataNewtype a) Source #

pdataImpl :: forall (s :: S). Term s (PDataNewtype a) -> Term s PData Source #

PIsData (PDataRecord xs) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData (PDataRecord xs)) -> Term s (PDataRecord xs) Source #

pdataImpl :: forall (s :: S). Term s (PDataRecord xs) -> Term s PData Source #

PIsData (PDataSum defs) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData (PDataSum defs)) -> Term s (PDataSum defs) Source #

pdataImpl :: forall (s :: S). Term s (PDataSum defs) -> Term s PData Source #

PIsData (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Builtin

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData PUnit) -> Term s PUnit Source #

pdataImpl :: forall (s :: S). Term s PUnit -> Term s PData Source #

PIsData (PBuiltinPair (PAsData a) (PAsData b)) Source # 
Instance details

Defined in Plutarch.Builtin

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData (PBuiltinPair (PAsData a) (PAsData b))) -> Term s (PBuiltinPair (PAsData a) (PAsData b)) Source #

pdataImpl :: forall (s :: S). Term s (PBuiltinPair (PAsData a) (PAsData b)) -> Term s PData Source #

PIsData (PBuiltinPair PData PData) Source # 
Instance details

Defined in Plutarch.Builtin

PIsData (PBuiltinPair PInteger (PBuiltinList PData)) Source # 
Instance details

Defined in Plutarch.Builtin

PIsData (PEitherData a b) Source #

@since WIP

Instance details

Defined in Plutarch.Either

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData (PEitherData a b)) -> Term s (PEitherData a b) Source #

pdataImpl :: forall (s :: S). Term s (PEitherData a b) -> Term s PData Source #

pfromData :: PIsData a => Term s (PAsData a) -> Term s a Source #

pdata :: PIsData a => Term s a -> Term s (PAsData a) Source #

data PAsData (a :: S -> Type) (s :: S) Source #

Instances

Instances details
PFromDataable a (PAsData a) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal.FromData

Methods

pmaybeFromAsData :: forall (s :: S). Term s (PAsData a) -> Term s (PAsData a) Source #

(PTryFrom PData (PAsData a), PIsData a) => PTryFrom PData (PAsData (PBuiltinList (PAsData a))) Source #

Recover a `PBuiltinList (PAsData a)`

Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData (PAsData (PBuiltinList (PAsData a))) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PBuiltinList (PAsData a))), Reduce (PTryFromExcess PData (PAsData (PBuiltinList (PAsData a))) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData (PBuiltinList PData)) Source #

This verifies a list to be indeed a list but doesn't recover the inner data use this instance instead of the one for `PData (PAsData (PBuiltinList (PAsData a)))` as this is O(1) instead of O(n)

Instance details

Defined in Plutarch.Builtin

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PBuiltinList PData)), Reduce (PTryFromExcess PData (PAsData (PBuiltinList PData)) s)) -> Term s r) -> Term s r Source #

(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)`

Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData (PAsData (PBuiltinPair a b)) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PBuiltinPair a b)), Reduce (PTryFromExcess PData (PAsData (PBuiltinPair a b)) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData PData) Source # 
Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData (PAsData PData) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PData), Reduce (PTryFromExcess PData (PAsData PData) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData (PDataNewtype a)) Source #

Since: 1.7.0

Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData (PAsData (PDataNewtype a)) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PDataNewtype a)), Reduce (PTryFromExcess PData (PAsData (PDataNewtype a)) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData PBool) Source #

Since: 1.7.0

Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData (PAsData PBool) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PBool), Reduce (PTryFromExcess PData (PAsData PBool) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData PByteString) Source # 
Instance details

Defined in Plutarch.Builtin

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PByteString), Reduce (PTryFromExcess PData (PAsData PByteString) s)) -> Term s r) -> Term s r Source #

(PTryFrom (PBuiltinList PData) (PDataRecord as), PTryFromExcess (PBuiltinList PData) (PDataRecord as) ~ HRecP ase) => PTryFrom PData (PAsData (PDataRecord as)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Associated Types

type PTryFromExcess PData (PAsData (PDataRecord as)) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PDataRecord as)), Reduce (PTryFromExcess PData (PAsData (PDataRecord as)) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PDataSum ys) => PTryFrom PData (PAsData (PDataSum ys)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Associated Types

type PTryFromExcess PData (PAsData (PDataSum ys)) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PDataSum ys)), Reduce (PTryFromExcess PData (PAsData (PDataSum ys)) s)) -> Term s r) -> Term s r Source #

(PTryFrom PData a, PTryFrom PData b) => PTryFrom PData (PAsData (PEitherData a b)) Source #

@since WIP

Instance details

Defined in Plutarch.Either

Associated Types

type PTryFromExcess PData (PAsData (PEitherData a b)) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PEitherData a b)), Reduce (PTryFromExcess PData (PAsData (PEitherData a b)) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData PInteger) Source # 
Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData (PAsData PInteger) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PInteger), Reduce (PTryFromExcess PData (PAsData PInteger) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData PPositive) Source # 
Instance details

Defined in Plutarch.Positive

Associated Types

type PTryFromExcess PData (PAsData PPositive) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PPositive), Reduce (PTryFromExcess PData (PAsData PPositive) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData PRational) Source #

NOTE: This instance produces a verified PPositive as the excess output.

Instance details

Defined in Plutarch.Rational

Associated Types

type PTryFromExcess PData (PAsData PRational) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PRational), Reduce (PTryFromExcess PData (PAsData PRational) s)) -> Term s r) -> Term s r Source #

(PIsData a, PDataFields a) => PDataFields (PAsData a) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal.Field

Associated Types

type PFields (PAsData a) :: [PLabeledType] Source #

Methods

ptoFields :: forall (s :: S). Term s (PAsData a) -> Term s (PDataRecord (PFields (PAsData a))) Source #

PEq (PAsData a) Source # 
Instance details

Defined in Plutarch.Builtin

Methods

(#==) :: forall (s :: S). Term s (PAsData a) -> Term s (PAsData a) -> Term s PBool Source #

PLiftable (PAsData PData) Source # 
Instance details

Defined in Plutarch.Builtin

Associated Types

type AsHaskell (PAsData PData) Source #

type PlutusRepr (PAsData PData) Source #

PLiftable (PAsData PByteString) Source # 
Instance details

Defined in Plutarch.Builtin

(ToData (AsHaskell a), FromData (AsHaskell a), PIsData a) => PLiftable (PAsData a) Source # 
Instance details

Defined in Plutarch.Builtin

Associated Types

type AsHaskell (PAsData a) Source #

type PlutusRepr (PAsData a) Source #

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

Defined in Plutarch.Builtin

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 #

(PIsData a, PShow a) => PShow (PAsData a) Source # 
Instance details

Defined in Plutarch.Builtin

Methods

pshow' :: forall (s :: S). Bool -> Term s (PAsData a) -> Term s PString Source #

PIsData (PBuiltinPair (PAsData a) (PAsData b)) Source # 
Instance details

Defined in Plutarch.Builtin

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData (PBuiltinPair (PAsData a) (PAsData b))) -> Term s (PBuiltinPair (PAsData a) (PAsData b)) Source #

pdataImpl :: forall (s :: S). Term s (PBuiltinPair (PAsData a) (PAsData b)) -> Term s PData Source #

type PTryFromExcess PData (PAsData (PBuiltinList (PAsData a))) Source # 
Instance details

Defined in Plutarch.Builtin

type PTryFromExcess PData (PAsData (PBuiltinList PData)) Source # 
Instance details

Defined in Plutarch.Builtin

type PTryFromExcess PData (PAsData (PBuiltinPair a b)) Source # 
Instance details

Defined in Plutarch.Builtin

type PTryFromExcess PData (PAsData PData) Source # 
Instance details

Defined in Plutarch.Builtin

type PTryFromExcess PData (PAsData (PDataNewtype a)) Source # 
Instance details

Defined in Plutarch.Builtin

type PTryFromExcess PData (PAsData PBool) Source # 
Instance details

Defined in Plutarch.Builtin

type PTryFromExcess PData (PAsData PByteString) Source # 
Instance details

Defined in Plutarch.Builtin

type PTryFromExcess PData (PAsData (PDataRecord as)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

type PTryFromExcess PData (PAsData (PDataSum ys)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

type PTryFromExcess PData (PAsData (PEitherData a b)) Source # 
Instance details

Defined in Plutarch.Either

type PTryFromExcess PData (PAsData PInteger) Source # 
Instance details

Defined in Plutarch.Builtin

type PTryFromExcess PData (PAsData PPositive) Source # 
Instance details

Defined in Plutarch.Positive

type PTryFromExcess PData (PAsData PRational) Source # 
Instance details

Defined in Plutarch.Rational

type PFields (PAsData a) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal.Field

type PFields (PAsData a) = PFields a
type AsHaskell (PAsData PData) Source # 
Instance details

Defined in Plutarch.Builtin

type AsHaskell (PAsData PByteString) Source # 
Instance details

Defined in Plutarch.Builtin

type AsHaskell (PAsData a) Source # 
Instance details

Defined in Plutarch.Builtin

type PlutusRepr (PAsData PData) Source # 
Instance details

Defined in Plutarch.Builtin

type PlutusRepr (PAsData PData) = Data
type PlutusRepr (PAsData PByteString) Source # 
Instance details

Defined in Plutarch.Builtin

type PlutusRepr (PAsData a) Source # 
Instance details

Defined in Plutarch.Builtin

type PlutusRepr (PAsData a) = Data
type PContravariant' (PAsData a) Source # 
Instance details

Defined in Plutarch.Builtin

type PCovariant' (PAsData a) Source # 
Instance details

Defined in Plutarch.Builtin

type PInner (PAsData a) Source # 
Instance details

Defined in Plutarch.Builtin

type PInner (PAsData a)
type PVariant' (PAsData a) Source # 
Instance details

Defined in Plutarch.Builtin

DataRepr and related functions

data PDataRecord (as :: [PLabeledType]) (s :: S) Source #

A "record" of `exists a. PAsData a`. The underlying representation is `PBuiltinList PData`.

Instances

Instances details
(PTryFrom (PBuiltinList PData) (PDataRecord as), PTryFromExcess (PBuiltinList PData) (PDataRecord as) ~ HRecP ase) => PTryFrom PData (PAsData (PDataRecord as)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Associated Types

type PTryFromExcess PData (PAsData (PDataRecord as)) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PDataRecord as)), Reduce (PTryFromExcess PData (PAsData (PDataRecord as)) s)) -> Term s r) -> Term s r Source #

PIsData (PDataRecord xs) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData (PDataRecord xs)) -> Term s (PDataRecord xs) Source #

pdataImpl :: forall (s :: S). Term s (PDataRecord xs) -> Term s PData Source #

PDataFields (PDataRecord as) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal.Field

Associated Types

type PFields (PDataRecord as) :: [PLabeledType] Source #

Methods

ptoFields :: forall (s :: S). Term s (PDataRecord as) -> Term s (PDataRecord (PFields (PDataRecord as))) Source #

PEq (PDataRecord xs) Source #

This uses data equality. PEq instances of elements don't make any difference.

Instance details

Defined in Plutarch.DataRepr.Internal

Methods

(#==) :: forall (s :: S). Term s (PDataRecord xs) -> Term s (PDataRecord xs) -> Term s PBool Source #

(SListI xs, POrd x, PIsData x, POrd (PDataRecord (x' ': xs))) => POrd (PDataRecord ((label ':= x) ': (x' ': xs))) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

pmax :: forall (s :: S). Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s (PDataRecord ((label ':= x) ': (x' ': xs))) Source #

pmin :: forall (s :: S). Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s (PDataRecord ((label ':= x) ': (x' ': xs))) Source #

(POrd x, PIsData x) => POrd (PDataRecord '[label ':= x]) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

pmax :: forall (s :: S). Term s (PDataRecord '[label ':= x]) -> Term s (PDataRecord '[label ':= x]) -> Term s (PDataRecord '[label ':= x]) Source #

pmin :: forall (s :: S). Term s (PDataRecord '[label ':= x]) -> Term s (PDataRecord '[label ':= x]) -> Term s (PDataRecord '[label ':= x]) Source #

POrd (PDataRecord ('[] :: [PLabeledType])) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

pmax :: forall (s :: S). Term s (PDataRecord '[]) -> Term s (PDataRecord '[]) -> Term s (PDataRecord '[]) Source #

pmin :: forall (s :: S). Term s (PDataRecord '[]) -> Term s (PDataRecord '[]) -> Term s (PDataRecord '[]) Source #

(SListI xs, POrd x, PIsData x, POrd (PDataRecord (x' ': xs))) => PPartialOrd (PDataRecord ((label ':= x) ': (x' ': xs))) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

(#<=) :: forall (s :: S). Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s PBool Source #

(#<) :: forall (s :: S). Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s PBool Source #

(#>) :: forall (s :: S). Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s PBool Source #

(POrd x, PIsData x) => PPartialOrd (PDataRecord '[label ':= x]) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

(#<=) :: forall (s :: S). Term s (PDataRecord '[label ':= x]) -> Term s (PDataRecord '[label ':= x]) -> Term s PBool Source #

(#<) :: forall (s :: S). Term s (PDataRecord '[label ':= x]) -> Term s (PDataRecord '[label ':= x]) -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s (PDataRecord '[label ':= x]) -> Term s (PDataRecord '[label ':= x]) -> Term s PBool Source #

(#>) :: forall (s :: S). Term s (PDataRecord '[label ':= x]) -> Term s (PDataRecord '[label ':= x]) -> Term s PBool Source #

PPartialOrd (PDataRecord ('[] :: [PLabeledType])) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

(#<=) :: forall (s :: S). Term s (PDataRecord '[]) -> Term s (PDataRecord '[]) -> Term s PBool Source #

(#<) :: forall (s :: S). Term s (PDataRecord '[]) -> Term s (PDataRecord '[]) -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s (PDataRecord '[]) -> Term s (PDataRecord '[]) -> Term s PBool Source #

(#>) :: forall (s :: S). Term s (PDataRecord '[]) -> Term s (PDataRecord '[]) -> Term s PBool Source #

SListI l => PlutusType (PDataRecord l) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

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

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

(All (Top :: PLabeledType -> Constraint) xs, KnownSymbol label, PIsData x, PShow x, PShow (PDataRecordShowHelper xs)) => PShow (PDataRecord ((label ':= x) ': xs)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

pshow' :: forall (s :: S). Bool -> Term s (PDataRecord ((label ':= x) ': xs)) -> Term s PString Source #

PShow (PDataRecord ('[] :: [PLabeledType])) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

pshow' :: forall (s :: S). Bool -> Term s (PDataRecord '[]) -> Term s PString Source #

(Helper2 (PSubtype' PData pty) pty, PTryFrom (PBuiltinList PData) (PDataRecord as), PTryFromExcess (PBuiltinList PData) (PDataRecord as) ~ HRecP ase) => PTryFrom (PBuiltinList PData) (PDataRecord ((name ':= pty) ': as)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Associated Types

type PTryFromExcess (PBuiltinList PData) (PDataRecord ((name ':= pty) ': as)) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s (PBuiltinList PData) -> ((Term s (PDataRecord ((name ':= pty) ': as)), Reduce (PTryFromExcess (PBuiltinList PData) (PDataRecord ((name ':= pty) ': as)) s)) -> Term s r) -> Term s r Source #

PTryFrom (PBuiltinList PData) (PDataRecord ('[] :: [PLabeledType])) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Associated Types

type PTryFromExcess (PBuiltinList PData) (PDataRecord '[]) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s (PBuiltinList PData) -> ((Term s (PDataRecord '[]), Reduce (PTryFromExcess (PBuiltinList PData) (PDataRecord '[]) s)) -> Term s r) -> Term s r Source #

type PTryFromExcess PData (PAsData (PDataRecord as)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

type PFields (PDataRecord as) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal.Field

type PFields (PDataRecord as) = as
type PContravariant' (PDataRecord l) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

type PCovariant' (PDataRecord l) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

type PInner (PDataRecord l) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

type PVariant' (PDataRecord l) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

type PTryFromExcess (PBuiltinList PData) (PDataRecord ((name ':= pty) ': as)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

type PTryFromExcess (PBuiltinList PData) (PDataRecord ((name ':= pty) ': as))
type PTryFromExcess (PBuiltinList PData) (PDataRecord ('[] :: [PLabeledType])) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

data PDataSum defs s Source #

A sum of PDataRecords. The underlying representation is the Constr constructor, where the integer is the index of the variant and the list is the record.

Instances

Instances details
PTryFrom PData (PDataSum ys) => PTryFrom PData (PAsData (PDataSum ys)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Associated Types

type PTryFromExcess PData (PAsData (PDataSum ys)) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PDataSum ys)), Reduce (PTryFromExcess PData (PAsData (PDataSum ys)) s)) -> Term s r) -> Term s r Source #

SumValidation 0 ys => PTryFrom PData (PDataSum ys) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Associated Types

type PTryFromExcess PData (PDataSum ys) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PDataSum ys), Reduce (PTryFromExcess PData (PDataSum ys) s)) -> Term s r) -> Term s r Source #

PIsData (PDataSum defs) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData (PDataSum defs)) -> Term s (PDataSum defs) Source #

pdataImpl :: forall (s :: S). Term s (PDataSum defs) -> Term s PData Source #

PDataFields (PDataSum '[as]) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal.Field

Associated Types

type PFields (PDataSum '[as]) :: [PLabeledType] Source #

Methods

ptoFields :: forall (s :: S). Term s (PDataSum '[as]) -> Term s (PDataRecord (PFields (PDataSum '[as]))) Source #

PEq (PDataSum defs) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

(#==) :: forall (s :: S). Term s (PDataSum defs) -> Term s (PDataSum defs) -> Term s PBool Source #

All (Compose POrd PDataRecord) defs => POrd (PDataSum defs) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

pmax :: forall (s :: S). Term s (PDataSum defs) -> Term s (PDataSum defs) -> Term s (PDataSum defs) Source #

pmin :: forall (s :: S). Term s (PDataSum defs) -> Term s (PDataSum defs) -> Term s (PDataSum defs) Source #

All (Compose POrd PDataRecord) defs => PPartialOrd (PDataSum defs) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

(#<=) :: forall (s :: S). Term s (PDataSum defs) -> Term s (PDataSum defs) -> Term s PBool Source #

(#<) :: forall (s :: S). Term s (PDataSum defs) -> Term s (PDataSum defs) -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s (PDataSum defs) -> Term s (PDataSum defs) -> Term s PBool Source #

(#>) :: forall (s :: S). Term s (PDataSum defs) -> Term s (PDataSum defs) -> Term s PBool Source #

SListI defs => PlutusType (PDataSum defs) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Associated Types

type PInner (PDataSum defs) :: PType Source #

type PCovariant' (PDataSum defs) Source #

type PContravariant' (PDataSum defs) Source #

type PVariant' (PDataSum defs) Source #

Methods

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

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

(All (Top :: [PLabeledType] -> Constraint) defs, All (Compose PShow PDataRecord) defs) => PShow (PDataSum defs) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

pshow' :: forall (s :: S). Bool -> Term s (PDataSum defs) -> Term s PString Source #

type PTryFromExcess PData (PAsData (PDataSum ys)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

type PTryFromExcess PData (PDataSum ys) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

type PTryFromExcess PData (PDataSum ys) = Const () :: S -> Type
type PFields (PDataSum '[as]) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal.Field

type PFields (PDataSum '[as]) = as
type PContravariant' (PDataSum defs) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

type PCovariant' (PDataSum defs) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

type PCovariant' (PDataSum defs)
type PInner (PDataSum defs) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

type PInner (PDataSum defs) = PData
type PVariant' (PDataSum defs) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

type PVariant' (PDataSum defs)

data PLabeledType Source #

Constructors

Symbol := (S -> Type) 

Instances

Instances details
PDataFields (PDataSum '[as]) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal.Field

Associated Types

type PFields (PDataSum '[as]) :: [PLabeledType] Source #

Methods

ptoFields :: forall (s :: S). Term s (PDataSum '[as]) -> Term s (PDataRecord (PFields (PDataSum '[as]))) Source #

(SListI xs, POrd x, PIsData x, POrd (PDataRecord (x' ': xs))) => POrd (PDataRecord ((label ':= x) ': (x' ': xs))) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

pmax :: forall (s :: S). Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s (PDataRecord ((label ':= x) ': (x' ': xs))) Source #

pmin :: forall (s :: S). Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s (PDataRecord ((label ':= x) ': (x' ': xs))) Source #

(POrd x, PIsData x) => POrd (PDataRecord '[label ':= x]) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

pmax :: forall (s :: S). Term s (PDataRecord '[label ':= x]) -> Term s (PDataRecord '[label ':= x]) -> Term s (PDataRecord '[label ':= x]) Source #

pmin :: forall (s :: S). Term s (PDataRecord '[label ':= x]) -> Term s (PDataRecord '[label ':= x]) -> Term s (PDataRecord '[label ':= x]) Source #

POrd (PDataRecord ('[] :: [PLabeledType])) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

pmax :: forall (s :: S). Term s (PDataRecord '[]) -> Term s (PDataRecord '[]) -> Term s (PDataRecord '[]) Source #

pmin :: forall (s :: S). Term s (PDataRecord '[]) -> Term s (PDataRecord '[]) -> Term s (PDataRecord '[]) Source #

(SListI xs, POrd x, PIsData x, POrd (PDataRecord (x' ': xs))) => PPartialOrd (PDataRecord ((label ':= x) ': (x' ': xs))) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

(#<=) :: forall (s :: S). Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s PBool Source #

(#<) :: forall (s :: S). Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s PBool Source #

(#>) :: forall (s :: S). Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s (PDataRecord ((label ':= x) ': (x' ': xs))) -> Term s PBool Source #

(POrd x, PIsData x) => PPartialOrd (PDataRecord '[label ':= x]) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

(#<=) :: forall (s :: S). Term s (PDataRecord '[label ':= x]) -> Term s (PDataRecord '[label ':= x]) -> Term s PBool Source #

(#<) :: forall (s :: S). Term s (PDataRecord '[label ':= x]) -> Term s (PDataRecord '[label ':= x]) -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s (PDataRecord '[label ':= x]) -> Term s (PDataRecord '[label ':= x]) -> Term s PBool Source #

(#>) :: forall (s :: S). Term s (PDataRecord '[label ':= x]) -> Term s (PDataRecord '[label ':= x]) -> Term s PBool Source #

PPartialOrd (PDataRecord ('[] :: [PLabeledType])) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

(#<=) :: forall (s :: S). Term s (PDataRecord '[]) -> Term s (PDataRecord '[]) -> Term s PBool Source #

(#<) :: forall (s :: S). Term s (PDataRecord '[]) -> Term s (PDataRecord '[]) -> Term s PBool Source #

(#>=) :: forall (s :: S). Term s (PDataRecord '[]) -> Term s (PDataRecord '[]) -> Term s PBool Source #

(#>) :: forall (s :: S). Term s (PDataRecord '[]) -> Term s (PDataRecord '[]) -> Term s PBool Source #

(All (Top :: PLabeledType -> Constraint) xs, KnownSymbol label, PIsData x, PShow x, PShow (PDataRecordShowHelper xs)) => PShow (PDataRecord ((label ':= x) ': xs)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

pshow' :: forall (s :: S). Bool -> Term s (PDataRecord ((label ':= x) ': xs)) -> Term s PString Source #

PShow (PDataRecord ('[] :: [PLabeledType])) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

pshow' :: forall (s :: S). Bool -> Term s (PDataRecord '[]) -> Term s PString Source #

(Helper2 (PSubtype' PData pty) pty, PTryFrom (PBuiltinList PData) (PDataRecord as), PTryFromExcess (PBuiltinList PData) (PDataRecord as) ~ HRecP ase) => PTryFrom (PBuiltinList PData) (PDataRecord ((name ':= pty) ': as)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Associated Types

type PTryFromExcess (PBuiltinList PData) (PDataRecord ((name ':= pty) ': as)) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s (PBuiltinList PData) -> ((Term s (PDataRecord ((name ':= pty) ': as)), Reduce (PTryFromExcess (PBuiltinList PData) (PDataRecord ((name ':= pty) ': as)) s)) -> Term s r) -> Term s r Source #

PTryFrom (PBuiltinList PData) (PDataRecord ('[] :: [PLabeledType])) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Associated Types

type PTryFromExcess (PBuiltinList PData) (PDataRecord '[]) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s (PBuiltinList PData) -> ((Term s (PDataRecord '[]), Reduce (PTryFromExcess (PBuiltinList PData) (PDataRecord '[]) s)) -> Term s r) -> Term s r Source #

type PFields (PDataSum '[as]) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal.Field

type PFields (PDataSum '[as]) = as
type PTryFromExcess (PBuiltinList PData) (PDataRecord ((name ':= pty) ': as)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

type PTryFromExcess (PBuiltinList PData) (PDataRecord ((name ':= pty) ': as))
type PTryFromExcess (PBuiltinList PData) (PDataRecord ('[] :: [PLabeledType])) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

pdcons :: forall label a l s. Term s (PAsData a :--> (PDataRecord l :--> PDataRecord ((label ':= a) ': l))) Source #

Cons a field to a data record.

You can specify the label to associate with the field using type applications-

foo :: Term s (PDataRecord '[ "fooField" ':= PByteString ])
foo = pdcons @"fooField" # pdata (phexByteStr "ab") # pdnil

pfield :: forall name b p s a as n. (PDataFields p, as ~ PFields p, n ~ PLabelIndex name as, KnownNat n, a ~ PUnLabel (IndexList n as), PFromDataable a b) => Term s (p :--> b) Source #

Get a single field from a Term.

  • NB*: If you access more than one field from the same value you should use pletFields instead, which will generate the bindings more efficiently.

getField :: HasField x r a => r -> a Source #

Selector function to extract the field from the record.

pletFields :: forall fs a s b ps bs. (PDataFields a, ps ~ PFields a, bs ~ Bindings ps fs, BindFields ps bs) => Term s a -> (HRecOf a fs s -> Term s b) -> Term s b Source #

Bind a HRec of named fields containing all the specified fields.

Tracing

class PShow t Source #

Instances

Instances details
PShow PData Source # 
Instance details

Defined in Plutarch.Builtin

Methods

pshow' :: forall (s :: S). Bool -> Term s PData -> Term s PString Source #

PShow PBool Source # 
Instance details

Defined in Plutarch.Show

Methods

pshow' :: forall (s :: S). Bool -> Term s PBool -> Term s PString Source #

PShow PByteString Source # 
Instance details

Defined in Plutarch.Show

Methods

pshow' :: forall (s :: S). Bool -> Term s PByteString -> Term s PString Source #

PShow PInteger Source # 
Instance details

Defined in Plutarch.Show

Methods

pshow' :: forall (s :: S). Bool -> Term s PInteger -> Term s PString Source #

PShow PPositive Source # 
Instance details

Defined in Plutarch.Positive

Methods

pshow' :: forall (s :: S). Bool -> Term s PPositive -> Term s PString Source #

PShow PRational Source # 
Instance details

Defined in Plutarch.Rational

Methods

pshow' :: forall (s :: S). Bool -> Term s PRational -> Term s PString Source #

PShow PString Source # 
Instance details

Defined in Plutarch.Show

Methods

pshow' :: forall (s :: S). Bool -> Term s PString -> Term s PString Source #

(PIsData a, PShow a) => PShow (PAsData a) Source # 
Instance details

Defined in Plutarch.Builtin

Methods

pshow' :: forall (s :: S). Bool -> Term s (PAsData a) -> Term s PString Source #

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

Defined in Plutarch.Builtin

Methods

pshow' :: forall (s :: S). Bool -> Term s (PBuiltinList a) -> Term s PString Source #

(PIsData a, PShow a) => PShow (PDataNewtype a) Source #

Since: 1.7.0

Instance details

Defined in Plutarch.Builtin

Methods

pshow' :: forall (s :: S). Bool -> Term s (PDataNewtype a) -> Term s PString Source #

(All (Top :: PLabeledType -> Constraint) xs, KnownSymbol label, PIsData x, PShow x, PShow (PDataRecordShowHelper xs)) => PShow (PDataRecord ((label ':= x) ': xs)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

pshow' :: forall (s :: S). Bool -> Term s (PDataRecord ((label ':= x) ': xs)) -> Term s PString Source #

PShow (PDataRecord ('[] :: [PLabeledType])) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

pshow' :: forall (s :: S). Bool -> Term s (PDataRecord '[]) -> Term s PString Source #

(All (Top :: [PLabeledType] -> Constraint) defs, All (Compose PShow PDataRecord) defs) => PShow (PDataSum defs) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Methods

pshow' :: forall (s :: S). Bool -> Term s (PDataSum defs) -> Term s PString Source #

PShow a => PShow (PTxList a) Source # 
Instance details

Defined in Plutarch.FFI

Methods

pshow' :: forall (s :: S). Bool -> Term s (PTxList a) -> Term s PString Source #

PShow a => PShow (PTxMaybe a) Source # 
Instance details

Defined in Plutarch.FFI

Methods

pshow' :: forall (s :: S). Bool -> Term s (PTxMaybe a) -> Term s PString Source #

PShow a => PShow (PList a) Source # 
Instance details

Defined in Plutarch.List

Methods

pshow' :: forall (s :: S). Bool -> Term s (PList a) -> Term s PString Source #

PShow a => PShow (PMaybe a) Source # 
Instance details

Defined in Plutarch.Maybe

Methods

pshow' :: forall (s :: S). Bool -> Term s (PMaybe a) -> Term s PString Source #

PShow (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

Methods

pshow' :: forall (s :: S). Bool -> Term s PUnit -> Term s PString Source #

(PShow a, PShow b) => PShow (PBuiltinPair a b) Source # 
Instance details

Defined in Plutarch.Builtin

Methods

pshow' :: forall (s :: S). Bool -> Term s (PBuiltinPair a b) -> Term s PString Source #

(PShow a, PShow b) => PShow (PEither a b) Source # 
Instance details

Defined in Plutarch.Either

Methods

pshow' :: forall (s :: S). Bool -> Term s (PEither a b) -> Term s PString Source #

(PIsData a, PIsData b, PShow a, PShow b) => PShow (PEitherData a b) Source #

@since WIP

Instance details

Defined in Plutarch.Either

Methods

pshow' :: forall (s :: S). Bool -> Term s (PEitherData a b) -> Term s PString Source #

(PShow a, PShow b) => PShow (PPair a b) Source # 
Instance details

Defined in Plutarch.Pair

Methods

pshow' :: forall (s :: S). Bool -> Term s (PPair a b) -> Term s PString Source #

pshow :: PShow a => Term s a -> Term s PString Source #

Return the string representation of a Plutarch value

ptraceInfo :: forall (a :: S -> Type) (s :: S). Term s PString -> Term s a -> Term s a Source #

Trace the given message at the info level before evaluating the given argument.

Since: 1.6.0

ptraceDebug :: forall (a :: S -> Type) (s :: S). Term s PString -> Term s a -> Term s a Source #

Trace the given message at the debug level before evaluating the given argument.

Since: 1.6.0

ptraceInfoShowId :: forall (a :: S -> Type) (s :: S). PShow a => Term s a -> Term s a Source #

Like Haskell's traceShowId but for Plutarch, at the info level.

Since: 1.6.0

ptraceInfoIfFalse :: forall (s :: S). Term s PString -> Term s PBool -> Term s PBool Source #

Trace the given message at the info level if the argument is false.

Since: 1.6.0

ptraceInfoIfTrue :: forall (s :: S). Term s PString -> Term s PBool -> Term s PBool Source #

Trace the given message at the info level if the argument is true.

Since: 1.6.0

ptraceInfoError :: forall (a :: S -> Type) (s :: S). Term s PString -> Term s a Source #

Trace the given message at the info level, then terminate with perror.

Since: 1.6.0

ptraceDebugShowId :: forall (a :: S -> Type) (s :: S). PShow a => Term s a -> Term s a Source #

Like Haskell's traceShowId but for Plutarch, at the debug level.

Since: 1.6.0

ptraceDebugIfFalse :: forall (s :: S). Term s PString -> Term s PBool -> Term s PBool Source #

Trace the given message at the debug level if the argument is false.

Since: 1.6.0

ptraceDebugIfTrue :: forall (s :: S). Term s PString -> Term s PBool -> Term s PBool Source #

Trace the given message at the debug level if the argument is true.

Since: 1.6.0

ptraceDebugError :: forall (a :: S -> Type) (s :: S). Term s PString -> Term s a Source #

Trace the given message at the debug level, then terminate with perror.

Since: 1.6.0

Deprecated

ptrace :: forall (a :: S -> Type) (s :: S). Term s PString -> Term s a -> Term s a Source #

Deprecated: Use ptraceInfo

Backward compatibility synonym for ptraceInfo.

Since: 1.6.0

ptraceShowId :: forall (a :: S -> Type) (s :: S). PShow a => Term s a -> Term s a Source #

Deprecated: Use ptraceInfoShowId

Synonym for ptraceInfoShowId.

Since: 1.6.0

ptraceError :: forall (a :: S -> Type) (s :: S). Term s PString -> Term s a Source #

Deprecated: Use ptraceInfoError

Synonym for ptraceInfoError.

Since: 1.6.0

ptraceIfFalse :: forall (s :: S). Term s PString -> Term s PBool -> Term s PBool Source #

Deprecated: Use ptraceInfoIfFalse

Synonym for ptraceInfoIfFalse.

Since: 1.6.0

ptraceIfTrue :: forall (s :: S). Term s PString -> Term s PBool -> Term s PBool Source #

Deprecated: Use ptraceInfoIfTrue

Synonym for ptraceInfoIfTrue.

Since: 1.6.0

Cryptographic hashes and signatures

pverifySignature :: Term s (PByteString :--> (PByteString :--> (PByteString :--> PBool))) Source #

Deprecated: use one of the Ed25519, Schnorr- or ECDSA Secp256k1 signature verification functions

Verify the signature against the public key and message.

Conversion between Plutarch terms and Haskell types

pconstant :: forall (a :: S -> Type) (s :: S). PLiftable a => AsHaskell a -> Term s a Source #

Given a Haskell-level representation of a Plutarch term, transform it into its equivalent term.

@since WIP

pconstantData :: forall (p :: S -> Type) (h :: Type) (s :: S). (ToData h, AsHaskell p ~ h) => h -> Term s (PAsData p) Source #

Create a Plutarch-level PAsData constant, from a Haskell value. Example: > pconstantData @PInteger 42

plift :: forall (a :: S -> Type). PLiftable a => (forall (s :: S). Term s a) -> AsHaskell a Source #

Given a closed Plutarch term, compile and evaluate it, then produce the corresponding Haskell value. If compilation or evaluation fails somehow, this will call error: if you need to 'trap' these outcomes and handle them differently somehow, use fromPlutarch.

@since WIP

class PlutusType a => PLiftable (a :: S -> Type) Source #

Indicates that the given Plutarch type has an equivalent in Haskell (and Plutus by extension), and we have the ability to move between them.

Important note

Calling methods of PLiftable directly should rarely, if ever, be a thing you do, unless defining your own instances without via-deriving helpers (below). Prefer using pconstant and plift, as these handle some of the oddities required without you having to think about them.

You should rarely, if ever, need to define PLiftable instances by hand. Whenever possible, prefer using DeriveBuiltinPLiftable, DeriveDataPLiftable, and DeriveNewtypePLiftable as they have fewer complexities and caveats. See their documentation for when to use them.

If you do want to define the methods yourself, there's a few key factors to keep in mind:

  1. You still shouldn't write every method by hand, there are helpers fromPlutarch* and toPlutarch* to cover common cases like types in Plutus universe or Scott encoding
  2. If defining toPlutarchRepr and fromPlutarchRepr you will need to define an associated PlutusRepr type, this is a Hasekll level type that is included in the Plutus default universe.
  3. If defining toPlutarch and fromPlutarch for Scott encoded type you need to set PlutusRepr PMyType = PLiftedClosed PMyType
  4. When choosing a type for AsHaskell, any value of that type must be representable in Plutarch. If you have internal invariants to maintain on the Haskell side, make sure you do so with great care.

Laws

  1. fromPlutarchRepr . toPlutarchRepr = Just
  2. fmap toPlutarchRepr . fromPlutarchRepr = Just
  3. fromPlutarch . toPlutarch = Right
  4. fmap toPlutarch . fromPlutarch = Right

Any derivations via DeriveBuiltinPLiftable, DeriveDataPLiftable, and DeriveNewtypePLiftable automatically follow these laws.

@since WIP

Associated Types

type AsHaskell a :: Type Source #

type PlutusRepr a :: Type Source #

Instances

Instances details
PLiftable PBuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in Plutarch.BLS

PLiftable PBuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in Plutarch.BLS

PLiftable PBuiltinBLS12_381_MlResult Source # 
Instance details

Defined in Plutarch.BLS

PLiftable PData Source # 
Instance details

Defined in Plutarch.Builtin

Associated Types

type AsHaskell PData Source #

type PlutusRepr PData Source #

PLiftable PBool Source # 
Instance details

Defined in Plutarch.Builtin.Bool

Associated Types

type AsHaskell PBool Source #

type PlutusRepr PBool Source #

PLiftable PByte Source #

@since WIP

Instance details

Defined in Plutarch.ByteString

Associated Types

type AsHaskell PByte Source #

type PlutusRepr PByte Source #

PLiftable PByteString Source # 
Instance details

Defined in Plutarch.ByteString

PLiftable PInteger Source # 
Instance details

Defined in Plutarch.Integer

PLiftable PPositive Source # 
Instance details

Defined in Plutarch.Positive

PLiftable PString Source # 
Instance details

Defined in Plutarch.String

Associated Types

type AsHaskell PString Source #

type PlutusRepr PString Source #

PLiftable (PAsData PData) Source # 
Instance details

Defined in Plutarch.Builtin

Associated Types

type AsHaskell (PAsData PData) Source #

type PlutusRepr (PAsData PData) Source #

PLiftable (PAsData PByteString) Source # 
Instance details

Defined in Plutarch.Builtin

(ToData (AsHaskell a), FromData (AsHaskell a), PIsData a) => PLiftable (PAsData a) Source # 
Instance details

Defined in Plutarch.Builtin

Associated Types

type AsHaskell (PAsData a) Source #

type PlutusRepr (PAsData a) Source #

(PLiftable a, Contains DefaultUni (PlutusRepr a)) => PLiftable (PBuiltinList a) Source #

@since WIP

Instance details

Defined in Plutarch.Builtin

Associated Types

type AsHaskell (PBuiltinList a) Source #

type PlutusRepr (PBuiltinList a) Source #

PLiftable a => PLiftable (PMaybe a) Source #

@since WIP

Instance details

Defined in Plutarch.Maybe

Associated Types

type AsHaskell (PMaybe a) Source #

type PlutusRepr (PMaybe a) Source #

PLiftable (PUnit :: S -> Type) Source # 
Instance details

Defined in Plutarch.Unit

Associated Types

type AsHaskell PUnit Source #

type PlutusRepr PUnit Source #

(PLiftable a, Contains DefaultUni (PlutusRepr a), PLiftable b, Contains DefaultUni (PlutusRepr b)) => PLiftable (PBuiltinPair a b) Source #

@since WIP

Instance details

Defined in Plutarch.Builtin

Associated Types

type AsHaskell (PBuiltinPair a b) Source #

type PlutusRepr (PBuiltinPair a b) Source #

(PLiftable a, PLiftable b) => PLiftable (PEither a b) Source #

@since WIP

Instance details

Defined in Plutarch.Either

Associated Types

type AsHaskell (PEither a b) Source #

type PlutusRepr (PEither a b) Source #

(ToData (AsHaskell a), FromData (AsHaskell a), ToData (AsHaskell b), FromData (AsHaskell b)) => PLiftable (PEitherData a b) Source # 
Instance details

Defined in Plutarch.Either

Associated Types

type AsHaskell (PEitherData a b) Source #

type PlutusRepr (PEitherData a b) Source #

(PlutusType a, Includes DefaultUni h) => PLiftable (DeriveBuiltinPLiftable a h) Source #

@since WIP

Instance details

Defined in Plutarch.Internal.Lift

(PlutusType a, PSubtype PData a, ToData h, FromData h) => PLiftable (DeriveDataPLiftable a h) Source #

@since WIP

Instance details

Defined in Plutarch.Internal.Lift

(PLiftable inner, Coercible (AsHaskell inner) h) => PLiftable (DeriveNewtypePLiftable wrapper inner h) Source #

@since WIP

Instance details

Defined in Plutarch.Internal.Lift

Associated Types

type AsHaskell (DeriveNewtypePLiftable wrapper inner h) Source #

type PlutusRepr (DeriveNewtypePLiftable wrapper inner h) Source #

Methods

toPlutarchRepr :: AsHaskell (DeriveNewtypePLiftable wrapper inner h) -> PlutusRepr (DeriveNewtypePLiftable wrapper inner h) Source #

toPlutarch :: forall (s :: S). AsHaskell (DeriveNewtypePLiftable wrapper inner h) -> PLifted s (DeriveNewtypePLiftable wrapper inner h) Source #

fromPlutarchRepr :: PlutusRepr (DeriveNewtypePLiftable wrapper inner h) -> Maybe (AsHaskell (DeriveNewtypePLiftable wrapper inner h)) Source #

fromPlutarch :: (forall (s :: S). PLifted s (DeriveNewtypePLiftable wrapper inner h)) -> Either LiftError (AsHaskell (DeriveNewtypePLiftable wrapper inner h)) Source #

newtype PLifted s a Source #

Similar to Identity, but at the level of Plutarch. Only needed when writing manual instances of PLiftable, or if you want to use toPlutarch and fromPlutarch directly.

This is used for coercing Plutarch terms in Haskell level with `coerce :: PLifted s a -> PLifted s b` for via-deriving helpers

@since WIP

Constructors

PLifted (Term s POpaque) 

Continuation monad

newtype TermCont :: forall (r :: PType). S -> Type -> Type where Source #

Constructors

TermCont 

Fields

Instances

Instances details
MonadFail (TermCont s) Source # 
Instance details

Defined in Plutarch.Internal.TermCont

Methods

fail :: String -> TermCont s a Source #

Applicative (TermCont s) Source # 
Instance details

Defined in Plutarch.Internal.TermCont

Methods

pure :: a -> TermCont s a Source #

(<*>) :: TermCont s (a -> b) -> TermCont s a -> TermCont s b Source #

liftA2 :: (a -> b -> c) -> TermCont s a -> TermCont s b -> TermCont s c Source #

(*>) :: TermCont s a -> TermCont s b -> TermCont s b Source #

(<*) :: TermCont s a -> TermCont s b -> TermCont s a Source #

Functor (TermCont s) Source # 
Instance details

Defined in Plutarch.Internal.TermCont

Methods

fmap :: (a -> b) -> TermCont s a -> TermCont s b Source #

(<$) :: a -> TermCont s b -> TermCont s a Source #

Monad (TermCont s) Source # 
Instance details

Defined in Plutarch.Internal.TermCont

Methods

(>>=) :: TermCont s a -> (a -> TermCont s b) -> TermCont s b Source #

(>>) :: TermCont s a -> TermCont s b -> TermCont s b Source #

return :: a -> TermCont s a Source #

unTermCont :: TermCont @a s (Term s a) -> Term s a Source #

tcont :: ((a -> Term s r) -> Term s r) -> TermCont @r s a Source #

pletC :: Term s a -> TermCont s (Term s a) Source #

Like plet but works in a TermCont monad

pmatchC :: PlutusType a => Term s a -> TermCont s (a s) Source #

Like pmatch but works in a TermCont monad

pletFieldsC :: forall fs a s b ps bs. (PDataFields a, ps ~ PFields a, bs ~ Bindings ps fs, BindFields ps bs) => Term s a -> TermCont @b s (HRec (BoundTerms ps bs s)) Source #

Like pletFields but works in a TermCont monad.

ptraceC :: Term s PString -> TermCont s () Source #

Like ptrace but works in a TermCont monad.

Example ===

foo :: Term s PUnit
foo = unTermCont $ do
  ptraceC "returning unit!"
  pure $ pconstant ()

pguardC :: Term s PString -> Term s PBool -> TermCont s () Source #

Trace a message and raise error if cond is false. Otherwise, continue.

Example ===

onlyAllow42 :: Term s (PInteger :--> PUnit)
onlyAllow42 = plam $ i -> unTermCont $ do
  pguardC "expected 42" $ i #== 42
  pure $ pconstant ()

pguardC' :: Term s a -> Term s PBool -> TermCont @a s () Source #

Stop computation and return given term if cond is false. Otherwise, continue.

Example ===

is42 :: Term s (PInteger :--> PBool)
is42 = plam $ i -> unTermCont $ do
  pguardC' (pconstant False) $ i #== 42
  pure $ pconstant True

ptryFromC :: forall b r a s. PTryFrom a b => Term s a -> TermCont @r s (Term s b, Reduce (PTryFromExcess a b s)) Source #

TermCont producing version of ptryFrom.

pupcast :: forall a b s. PSubtype a b => Term s b -> Term s a Source #

ptryFrom :: forall b a s r. PTryFrom a b => Term s a -> ((Term s b, Reduce (PTryFromExcess a b s)) -> Term s r) -> Term s r Source #

class PSubtype a b => PTryFrom (a :: PType) (b :: PType) Source #

PTryFrom a b represents a subtyping relationship between a and b, and a way to go from a to b. Laws: - (punsafeCoerce . fst) $ tcont (ptryFrom x) ≡ pure x

Instances

Instances details
PTryFrom PData PData Source # 
Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData PData :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s PData, Reduce (PTryFromExcess PData PData s)) -> Term s r) -> Term s r Source #

PTryFrom PInteger PPositive Source # 
Instance details

Defined in Plutarch.Positive

Associated Types

type PTryFromExcess PInteger PPositive :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PInteger -> ((Term s PPositive, Reduce (PTryFromExcess PInteger PPositive s)) -> Term s r) -> Term s r Source #

(PTryFrom PData (PAsData a), PIsData a) => PTryFrom PData (PAsData (PBuiltinList (PAsData a))) Source #

Recover a `PBuiltinList (PAsData a)`

Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData (PAsData (PBuiltinList (PAsData a))) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PBuiltinList (PAsData a))), Reduce (PTryFromExcess PData (PAsData (PBuiltinList (PAsData a))) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData (PBuiltinList PData)) Source #

This verifies a list to be indeed a list but doesn't recover the inner data use this instance instead of the one for `PData (PAsData (PBuiltinList (PAsData a)))` as this is O(1) instead of O(n)

Instance details

Defined in Plutarch.Builtin

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PBuiltinList PData)), Reduce (PTryFromExcess PData (PAsData (PBuiltinList PData)) s)) -> Term s r) -> Term s r Source #

(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)`

Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData (PAsData (PBuiltinPair a b)) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PBuiltinPair a b)), Reduce (PTryFromExcess PData (PAsData (PBuiltinPair a b)) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData PData) Source # 
Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData (PAsData PData) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PData), Reduce (PTryFromExcess PData (PAsData PData) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData (PDataNewtype a)) Source #

Since: 1.7.0

Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData (PAsData (PDataNewtype a)) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PDataNewtype a)), Reduce (PTryFromExcess PData (PAsData (PDataNewtype a)) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData PBool) Source #

Since: 1.7.0

Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData (PAsData PBool) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PBool), Reduce (PTryFromExcess PData (PAsData PBool) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData PByteString) Source # 
Instance details

Defined in Plutarch.Builtin

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PByteString), Reduce (PTryFromExcess PData (PAsData PByteString) s)) -> Term s r) -> Term s r Source #

(PTryFrom (PBuiltinList PData) (PDataRecord as), PTryFromExcess (PBuiltinList PData) (PDataRecord as) ~ HRecP ase) => PTryFrom PData (PAsData (PDataRecord as)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Associated Types

type PTryFromExcess PData (PAsData (PDataRecord as)) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PDataRecord as)), Reduce (PTryFromExcess PData (PAsData (PDataRecord as)) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PDataSum ys) => PTryFrom PData (PAsData (PDataSum ys)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Associated Types

type PTryFromExcess PData (PAsData (PDataSum ys)) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PDataSum ys)), Reduce (PTryFromExcess PData (PAsData (PDataSum ys)) s)) -> Term s r) -> Term s r Source #

(PTryFrom PData a, PTryFrom PData b) => PTryFrom PData (PAsData (PEitherData a b)) Source #

@since WIP

Instance details

Defined in Plutarch.Either

Associated Types

type PTryFromExcess PData (PAsData (PEitherData a b)) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PEitherData a b)), Reduce (PTryFromExcess PData (PAsData (PEitherData a b)) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData PInteger) Source # 
Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData (PAsData PInteger) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PInteger), Reduce (PTryFromExcess PData (PAsData PInteger) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData PPositive) Source # 
Instance details

Defined in Plutarch.Positive

Associated Types

type PTryFromExcess PData (PAsData PPositive) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PPositive), Reduce (PTryFromExcess PData (PAsData PPositive) s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData PRational) Source #

NOTE: This instance produces a verified PPositive as the excess output.

Instance details

Defined in Plutarch.Rational

Associated Types

type PTryFromExcess PData (PAsData PRational) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PRational), Reduce (PTryFromExcess PData (PAsData PRational) s)) -> Term s r) -> Term s r Source #

(PIsData a, PTryFrom PData (PAsData a)) => PTryFrom PData (PDataNewtype a) Source #

Since: 1.7.0

Instance details

Defined in Plutarch.Builtin

Associated Types

type PTryFromExcess PData (PDataNewtype a) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PDataNewtype a), Reduce (PTryFromExcess PData (PDataNewtype a) s)) -> Term s r) -> Term s r Source #

SumValidation 0 ys => PTryFrom PData (PDataSum ys) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Associated Types

type PTryFromExcess PData (PDataSum ys) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PDataSum ys), Reduce (PTryFromExcess PData (PDataSum ys) s)) -> Term s r) -> Term s r Source #

(PTryFrom PData a, PTryFrom PData b) => PTryFrom PData (PEitherData a b) Source #

@since WIP

Instance details

Defined in Plutarch.Either

Associated Types

type PTryFromExcess PData (PEitherData a b) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PEitherData a b), Reduce (PTryFromExcess PData (PEitherData a b) s)) -> Term s r) -> Term s r Source #

(Helper2 (PSubtype' PData pty) pty, PTryFrom (PBuiltinList PData) (PDataRecord as), PTryFromExcess (PBuiltinList PData) (PDataRecord as) ~ HRecP ase) => PTryFrom (PBuiltinList PData) (PDataRecord ((name ':= pty) ': as)) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Associated Types

type PTryFromExcess (PBuiltinList PData) (PDataRecord ((name ':= pty) ': as)) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s (PBuiltinList PData) -> ((Term s (PDataRecord ((name ':= pty) ': as)), Reduce (PTryFromExcess (PBuiltinList PData) (PDataRecord ((name ':= pty) ': as)) s)) -> Term s r) -> Term s r Source #

PTryFrom (PBuiltinList PData) (PDataRecord ('[] :: [PLabeledType])) Source # 
Instance details

Defined in Plutarch.DataRepr.Internal

Associated Types

type PTryFromExcess (PBuiltinList PData) (PDataRecord '[]) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s (PBuiltinList PData) -> ((Term s (PDataRecord '[]), Reduce (PTryFromExcess (PBuiltinList PData) (PDataRecord '[]) s)) -> Term s r) -> Term s r Source #

type family PSubtype (a :: PType) (b :: PType) :: Constraint where ... Source #

Equations

PSubtype a b = (PSubtype' a b ~ 'PSubtypeRelation, PSubtypeHelper a b (PSubtype' a b)) 

class Generic a Source #

Representable types of kind *. This class is derivable in GHC with the DeriveGeneric flag on.

A Generic instance must satisfy the following laws:

from . toid
to . fromid

Minimal complete definition

from, to

Instances

Instances details
Generic Value 
Instance details

Defined in Data.Aeson.Types.Internal

Associated Types

type Rep Value :: Type -> Type Source #

Methods

from :: Value -> Rep Value x Source #

to :: Rep Value x -> Value Source #

Generic AdjacencyIntMap 
Instance details

Defined in Algebra.Graph.AdjacencyIntMap

Associated Types

type Rep AdjacencyIntMap :: Type -> Type Source #

Methods

from :: AdjacencyIntMap -> Rep AdjacencyIntMap x Source #

to :: Rep AdjacencyIntMap x -> AdjacencyIntMap Source #

Generic All 
Instance details

Defined in Data.Semigroup.Internal

Associated Types

type Rep All :: Type -> Type Source #

Methods

from :: All -> Rep All x Source #

to :: Rep All x -> All Source #

Generic Any 
Instance details

Defined in Data.Semigroup.Internal

Associated Types

type Rep Any :: Type -> Type Source #

Methods

from :: Any -> Rep Any x Source #

to :: Rep Any x -> Any Source #

Generic Version 
Instance details

Defined in Data.Version

Associated Types

type Rep Version :: Type -> Type Source #

Generic Void 
Instance details

Defined in GHC.Generics

Associated Types

type Rep Void :: Type -> Type Source #

Methods

from :: Void -> Rep Void x Source #

to :: Rep Void x -> Void Source #

Generic ByteOrder 
Instance details

Defined in GHC.ByteOrder

Associated Types

type Rep ByteOrder :: Type -> Type Source #

Generic Fingerprint 
Instance details

Defined in GHC.Generics

Associated Types

type Rep Fingerprint :: Type -> Type Source #

Generic Associativity 
Instance details

Defined in GHC.Generics

Associated Types

type Rep Associativity :: Type -> Type Source #

Generic DecidedStrictness 
Instance details

Defined in GHC.Generics

Associated Types

type Rep DecidedStrictness :: Type -> Type Source #

Generic Fixity 
Instance details

Defined in GHC.Generics

Associated Types

type Rep Fixity :: Type -> Type Source #

Generic SourceStrictness 
Instance details

Defined in GHC.Generics

Associated Types

type Rep SourceStrictness :: Type -> Type Source #

Generic SourceUnpackedness 
Instance details

Defined in GHC.Generics

Associated Types

type Rep SourceUnpackedness :: Type -> Type Source #

Generic ExitCode 
Instance details

Defined in GHC.IO.Exception

Associated Types

type Rep ExitCode :: Type -> Type Source #

Generic CCFlags 
Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep CCFlags :: Type -> Type Source #

Generic ConcFlags 
Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep ConcFlags :: Type -> Type Source #

Generic DebugFlags 
Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep DebugFlags :: Type -> Type Source #

Generic DoCostCentres 
Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep DoCostCentres :: Type -> Type Source #

Generic DoHeapProfile 
Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep DoHeapProfile :: Type -> Type Source #

Generic DoTrace 
Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep DoTrace :: Type -> Type Source #

Generic GCFlags 
Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep GCFlags :: Type -> Type Source #

Generic GiveGCStats 
Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep GiveGCStats :: Type -> Type Source #

Generic MiscFlags 
Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep MiscFlags :: Type -> Type Source #

Generic ParFlags 
Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep ParFlags :: Type -> Type Source #

Generic ProfFlags 
Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep ProfFlags :: Type -> Type Source #

Generic RTSFlags 
Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep RTSFlags :: Type -> Type Source #

Generic TickyFlags 
Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep TickyFlags :: Type -> Type Source #

Generic TraceFlags 
Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep TraceFlags :: Type -> Type Source #

Generic SrcLoc 
Instance details

Defined in GHC.Generics

Associated Types

type Rep SrcLoc :: Type -> Type Source #

Generic GCDetails 
Instance details

Defined in GHC.Stats

Associated Types

type Rep GCDetails :: Type -> Type Source #

Generic RTSStats 
Instance details

Defined in GHC.Stats

Associated Types

type Rep RTSStats :: Type -> Type Source #

Generic GeneralCategory 
Instance details

Defined in GHC.Generics

Associated Types

type Rep GeneralCategory :: Type -> Type Source #

Generic OsChar 
Instance details

Defined in System.OsString.Internal.Types.Hidden

Associated Types

type Rep OsChar :: Type -> Type Source #

Generic OsString 
Instance details

Defined in System.OsString.Internal.Types.Hidden

Associated Types

type Rep OsString :: Type -> Type Source #

Generic PosixChar 
Instance details

Defined in System.OsString.Internal.Types.Hidden

Associated Types

type Rep PosixChar :: Type -> Type Source #

Generic PosixString 
Instance details

Defined in System.OsString.Internal.Types.Hidden

Associated Types

type Rep PosixString :: Type -> Type Source #

Generic WindowsChar 
Instance details

Defined in System.OsString.Internal.Types.Hidden

Associated Types

type Rep WindowsChar :: Type -> Type Source #

Generic WindowsString 
Instance details

Defined in System.OsString.Internal.Types.Hidden

Associated Types

type Rep WindowsString :: Type -> Type Source #

Generic Filler 
Instance details

Defined in Flat.Filler

Associated Types

type Rep Filler :: Type -> Type Source #

Methods

from :: Filler -> Rep Filler x Source #

to :: Rep Filler x -> Filler Source #

Generic ForeignSrcLang 
Instance details

Defined in GHC.ForeignSrcLang.Type

Associated Types

type Rep ForeignSrcLang :: Type -> Type Source #

Generic Extension 
Instance details

Defined in GHC.LanguageExtensions.Type

Associated Types

type Rep Extension :: Type -> Type Source #

Generic ClosureType 
Instance details

Defined in GHC.Exts.Heap.ClosureTypes

Associated Types

type Rep ClosureType :: Type -> Type Source #

Generic PrimType 
Instance details

Defined in GHC.Exts.Heap.Closures

Associated Types

type Rep PrimType :: Type -> Type Source #

Generic TsoFlags 
Instance details

Defined in GHC.Exts.Heap.Closures

Associated Types

type Rep TsoFlags :: Type -> Type Source #

Generic WhatNext 
Instance details

Defined in GHC.Exts.Heap.Closures

Associated Types

type Rep WhatNext :: Type -> Type Source #

Generic WhyBlocked 
Instance details

Defined in GHC.Exts.Heap.Closures

Associated Types

type Rep WhyBlocked :: Type -> Type Source #

Generic StgInfoTable 
Instance details

Defined in GHC.Exts.Heap.InfoTable.Types

Associated Types

type Rep StgInfoTable :: Type -> Type Source #

Generic CostCentre 
Instance details

Defined in GHC.Exts.Heap.ProfInfo.Types

Associated Types

type Rep CostCentre :: Type -> Type Source #

Generic CostCentreStack 
Instance details

Defined in GHC.Exts.Heap.ProfInfo.Types

Associated Types

type Rep CostCentreStack :: Type -> Type Source #

Generic IndexTable 
Instance details

Defined in GHC.Exts.Heap.ProfInfo.Types

Associated Types

type Rep IndexTable :: Type -> Type Source #

Generic StgTSOProfInfo 
Instance details

Defined in GHC.Exts.Heap.ProfInfo.Types

Associated Types

type Rep StgTSOProfInfo :: Type -> Type Source #

Generic Ordering 
Instance details

Defined in GHC.Generics

Associated Types

type Rep Ordering :: Type -> Type Source #

Generic Half 
Instance details

Defined in Numeric.Half.Internal

Associated Types

type Rep Half :: Type -> Type Source #

Methods

from :: Half -> Rep Half x Source #

to :: Rep Half x -> Half Source #

Generic InvalidPosException 
Instance details

Defined in Text.Megaparsec.Pos

Associated Types

type Rep InvalidPosException :: Type -> Type Source #

Methods

from :: InvalidPosException -> Rep InvalidPosException x Source #

to :: Rep InvalidPosException x -> InvalidPosException Source #

Generic Pos 
Instance details

Defined in Text.Megaparsec.Pos

Associated Types

type Rep Pos :: Type -> Type Source #

Methods

from :: Pos -> Rep Pos x Source #

to :: Rep Pos x -> Pos Source #

Generic SourcePos 
Instance details

Defined in Text.Megaparsec.Pos

Associated Types

type Rep SourcePos :: Type -> Type Source #

Methods

from :: SourcePos -> Rep SourcePos x Source #

to :: Rep SourcePos x -> SourcePos Source #

Generic URI 
Instance details

Defined in Network.URI

Associated Types

type Rep URI :: Type -> Type Source #

Methods

from :: URI -> Rep URI x Source #

to :: Rep URI x -> URI Source #

Generic URIAuth 
Instance details

Defined in Network.URI

Associated Types

type Rep URIAuth :: Type -> Type Source #

Methods

from :: URIAuth -> Rep URIAuth x Source #

to :: Rep URIAuth x -> URIAuth Source #

Generic OsChar 
Instance details

Defined in System.OsString.Internal.Types

Associated Types

type Rep OsChar :: Type -> Type Source #

Methods

from :: OsChar -> Rep OsChar x Source #

to :: Rep OsChar x -> OsChar Source #

Generic OsString 
Instance details

Defined in System.OsString.Internal.Types

Associated Types

type Rep OsString :: Type -> Type Source #

Methods

from :: OsString -> Rep OsString x Source #

to :: Rep OsString x -> OsString Source #

Generic PosixChar 
Instance details

Defined in System.OsString.Internal.Types

Associated Types

type Rep PosixChar :: Type -> Type Source #

Methods

from :: PosixChar -> Rep PosixChar x Source #

to :: Rep PosixChar x -> PosixChar Source #

Generic PosixString 
Instance details

Defined in System.OsString.Internal.Types

Associated Types

type Rep PosixString :: Type -> Type Source #

Methods

from :: PosixString -> Rep PosixString x Source #

to :: Rep PosixString x -> PosixString Source #

Generic WindowsChar 
Instance details

Defined in System.OsString.Internal.Types

Associated Types

type Rep WindowsChar :: Type -> Type Source #

Methods

from :: WindowsChar -> Rep WindowsChar x Source #

to :: Rep WindowsChar x -> WindowsChar Source #

Generic WindowsString 
Instance details

Defined in System.OsString.Internal.Types

Associated Types

type Rep WindowsString :: Type -> Type Source #

Methods

from :: WindowsString -> Rep WindowsString x Source #

to :: Rep WindowsString x -> WindowsString Source #

Generic Script Source # 
Instance details

Defined in Plutarch.Script

Associated Types

type Rep Script :: Type -> Type Source #

Generic Ann 
Instance details

Defined in PlutusCore.Annotation

Associated Types

type Rep Ann :: Type -> Type Source #

Methods

from :: Ann -> Rep Ann x Source #

to :: Rep Ann x -> Ann Source #

Generic Inline 
Instance details

Defined in PlutusCore.Annotation

Associated Types

type Rep Inline :: Type -> Type Source #

Methods

from :: Inline -> Rep Inline x Source #

to :: Rep Inline x -> Inline Source #

Generic SrcSpan 
Instance details

Defined in PlutusCore.Annotation

Associated Types

type Rep SrcSpan :: Type -> Type Source #

Methods

from :: SrcSpan -> Rep SrcSpan x Source #

to :: Rep SrcSpan x -> SrcSpan Source #

Generic SrcSpans 
Instance details

Defined in PlutusCore.Annotation

Associated Types

type Rep SrcSpans :: Type -> Type Source #

Methods

from :: SrcSpans -> Rep SrcSpans x Source #

to :: Rep SrcSpans x -> SrcSpans Source #

Generic Data 
Instance details

Defined in PlutusCore.Data

Associated Types

type Rep Data :: Type -> Type Source #

Methods

from :: Data -> Rep Data x Source #

to :: Rep Data x -> Data Source #

Generic DeBruijn 
Instance details

Defined in PlutusCore.DeBruijn.Internal

Associated Types

type Rep DeBruijn :: Type -> Type Source #

Methods

from :: DeBruijn -> Rep DeBruijn x Source #

to :: Rep DeBruijn x -> DeBruijn Source #

Generic FreeVariableError 
Instance details

Defined in PlutusCore.DeBruijn.Internal

Associated Types

type Rep FreeVariableError :: Type -> Type Source #

Methods

from :: FreeVariableError -> Rep FreeVariableError x Source #

to :: Rep FreeVariableError x -> FreeVariableError Source #

Generic Index 
Instance details

Defined in PlutusCore.DeBruijn.Internal

Associated Types

type Rep Index :: Type -> Type Source #

Methods

from :: Index -> Rep Index x Source #

to :: Rep Index x -> Index Source #

Generic NamedDeBruijn 
Instance details

Defined in PlutusCore.DeBruijn.Internal

Associated Types

type Rep NamedDeBruijn :: Type -> Type Source #

Methods

from :: NamedDeBruijn -> Rep NamedDeBruijn x Source #

to :: Rep NamedDeBruijn x -> NamedDeBruijn Source #

Generic NamedTyDeBruijn 
Instance details

Defined in PlutusCore.DeBruijn.Internal

Associated Types

type Rep NamedTyDeBruijn :: Type -> Type Source #

Methods

from :: NamedTyDeBruijn -> Rep NamedTyDeBruijn x Source #

to :: Rep NamedTyDeBruijn x -> NamedTyDeBruijn Source #

Generic TyDeBruijn 
Instance details

Defined in PlutusCore.DeBruijn.Internal

Associated Types

type Rep TyDeBruijn :: Type -> Type Source #

Methods

from :: TyDeBruijn -> Rep TyDeBruijn x Source #

to :: Rep TyDeBruijn x -> TyDeBruijn Source #

Generic DefaultFun 
Instance details

Defined in PlutusCore.Default.Builtins

Associated Types

type Rep DefaultFun :: Type -> Type Source #

Methods

from :: DefaultFun -> Rep DefaultFun x Source #

to :: Rep DefaultFun x -> DefaultFun Source #

Generic ParserError 
Instance details

Defined in PlutusCore.Error

Associated Types

type Rep ParserError :: Type -> Type Source #

Methods

from :: ParserError -> Rep ParserError x Source #

to :: Rep ParserError x -> ParserError Source #

Generic ParserErrorBundle 
Instance details

Defined in PlutusCore.Error

Associated Types

type Rep ParserErrorBundle :: Type -> Type Source #

Methods

from :: ParserErrorBundle -> Rep ParserErrorBundle x Source #

to :: Rep ParserErrorBundle x -> ParserErrorBundle Source #

Generic CkUserError 
Instance details

Defined in PlutusCore.Evaluation.Machine.Ck

Associated Types

type Rep CkUserError :: Type -> Type Source #

Methods

from :: CkUserError -> Rep CkUserError x Source #

to :: Rep CkUserError x -> CkUserError Source #

Generic CostModelApplyError 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostModelInterface

Associated Types

type Rep CostModelApplyError :: Type -> Type Source #

Methods

from :: CostModelApplyError -> Rep CostModelApplyError x Source #

to :: Rep CostModelApplyError x -> CostModelApplyError Source #

Generic Coefficient0 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep Coefficient0 :: Type -> Type Source #

Methods

from :: Coefficient0 -> Rep Coefficient0 x Source #

to :: Rep Coefficient0 x -> Coefficient0 Source #

Generic Coefficient00 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep Coefficient00 :: Type -> Type Source #

Methods

from :: Coefficient00 -> Rep Coefficient00 x Source #

to :: Rep Coefficient00 x -> Coefficient00 Source #

Generic Coefficient01 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep Coefficient01 :: Type -> Type Source #

Methods

from :: Coefficient01 -> Rep Coefficient01 x Source #

to :: Rep Coefficient01 x -> Coefficient01 Source #

Generic Coefficient02 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep Coefficient02 :: Type -> Type Source #

Methods

from :: Coefficient02 -> Rep Coefficient02 x Source #

to :: Rep Coefficient02 x -> Coefficient02 Source #

Generic Coefficient1 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep Coefficient1 :: Type -> Type Source #

Methods

from :: Coefficient1 -> Rep Coefficient1 x Source #

to :: Rep Coefficient1 x -> Coefficient1 Source #

Generic Coefficient10 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep Coefficient10 :: Type -> Type Source #

Methods

from :: Coefficient10 -> Rep Coefficient10 x Source #

to :: Rep Coefficient10 x -> Coefficient10 Source #

Generic Coefficient11 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep Coefficient11 :: Type -> Type Source #

Methods

from :: Coefficient11 -> Rep Coefficient11 x Source #

to :: Rep Coefficient11 x -> Coefficient11 Source #

Generic Coefficient2 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep Coefficient2 :: Type -> Type Source #

Methods

from :: Coefficient2 -> Rep Coefficient2 x Source #

to :: Rep Coefficient2 x -> Coefficient2 Source #

Generic Coefficient20 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep Coefficient20 :: Type -> Type Source #

Methods

from :: Coefficient20 -> Rep Coefficient20 x Source #

to :: Rep Coefficient20 x -> Coefficient20 Source #

Generic Intercept 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep Intercept :: Type -> Type Source #

Methods

from :: Intercept -> Rep Intercept x Source #

to :: Rep Intercept x -> Intercept Source #

Generic ModelConstantOrLinear 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep ModelConstantOrLinear :: Type -> Type Source #

Methods

from :: ModelConstantOrLinear -> Rep ModelConstantOrLinear x Source #

to :: Rep ModelConstantOrLinear x -> ModelConstantOrLinear Source #

Generic ModelConstantOrOneArgument 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep ModelConstantOrOneArgument :: Type -> Type Source #

Methods

from :: ModelConstantOrOneArgument -> Rep ModelConstantOrOneArgument x Source #

to :: Rep ModelConstantOrOneArgument x -> ModelConstantOrOneArgument Source #

Generic ModelConstantOrTwoArguments 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep ModelConstantOrTwoArguments :: Type -> Type Source #

Methods

from :: ModelConstantOrTwoArguments -> Rep ModelConstantOrTwoArguments x Source #

to :: Rep ModelConstantOrTwoArguments x -> ModelConstantOrTwoArguments Source #

Generic ModelFiveArguments 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep ModelFiveArguments :: Type -> Type Source #

Methods

from :: ModelFiveArguments -> Rep ModelFiveArguments x Source #

to :: Rep ModelFiveArguments x -> ModelFiveArguments Source #

Generic ModelFourArguments 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep ModelFourArguments :: Type -> Type Source #

Methods

from :: ModelFourArguments -> Rep ModelFourArguments x Source #

to :: Rep ModelFourArguments x -> ModelFourArguments Source #

Generic ModelOneArgument 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep ModelOneArgument :: Type -> Type Source #

Methods

from :: ModelOneArgument -> Rep ModelOneArgument x Source #

to :: Rep ModelOneArgument x -> ModelOneArgument Source #

Generic ModelSixArguments 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep ModelSixArguments :: Type -> Type Source #

Methods

from :: ModelSixArguments -> Rep ModelSixArguments x Source #

to :: Rep ModelSixArguments x -> ModelSixArguments Source #

Generic ModelSubtractedSizes 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep ModelSubtractedSizes :: Type -> Type Source #

Methods

from :: ModelSubtractedSizes -> Rep ModelSubtractedSizes x Source #

to :: Rep ModelSubtractedSizes x -> ModelSubtractedSizes Source #

Generic ModelThreeArguments 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep ModelThreeArguments :: Type -> Type Source #

Methods

from :: ModelThreeArguments -> Rep ModelThreeArguments x Source #

to :: Rep ModelThreeArguments x -> ModelThreeArguments Source #

Generic ModelTwoArguments 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep ModelTwoArguments :: Type -> Type Source #

Methods

from :: ModelTwoArguments -> Rep ModelTwoArguments x Source #

to :: Rep ModelTwoArguments x -> ModelTwoArguments Source #

Generic OneVariableLinearFunction 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep OneVariableLinearFunction :: Type -> Type Source #

Methods

from :: OneVariableLinearFunction -> Rep OneVariableLinearFunction x Source #

to :: Rep OneVariableLinearFunction x -> OneVariableLinearFunction Source #

Generic OneVariableQuadraticFunction 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep OneVariableQuadraticFunction :: Type -> Type Source #

Methods

from :: OneVariableQuadraticFunction -> Rep OneVariableQuadraticFunction x Source #

to :: Rep OneVariableQuadraticFunction x -> OneVariableQuadraticFunction Source #

Generic Slope 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep Slope :: Type -> Type Source #

Methods

from :: Slope -> Rep Slope x Source #

to :: Rep Slope x -> Slope Source #

Generic TwoVariableLinearFunction 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep TwoVariableLinearFunction :: Type -> Type Source #

Methods

from :: TwoVariableLinearFunction -> Rep TwoVariableLinearFunction x Source #

to :: Rep TwoVariableLinearFunction x -> TwoVariableLinearFunction Source #

Generic TwoVariableQuadraticFunction 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep TwoVariableQuadraticFunction :: Type -> Type Source #

Methods

from :: TwoVariableQuadraticFunction -> Rep TwoVariableQuadraticFunction x Source #

to :: Rep TwoVariableQuadraticFunction x -> TwoVariableQuadraticFunction Source #

Generic ExBudget 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Associated Types

type Rep ExBudget :: Type -> Type Source #

Methods

from :: ExBudget -> Rep ExBudget x Source #

to :: Rep ExBudget x -> ExBudget Source #

Generic ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Associated Types

type Rep ExCPU :: Type -> Type Source #

Methods

from :: ExCPU -> Rep ExCPU x Source #

to :: Rep ExCPU x -> ExCPU Source #

Generic ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Associated Types

type Rep ExMemory :: Type -> Type Source #

Methods

from :: ExMemory -> Rep ExMemory x Source #

to :: Rep ExMemory x -> ExMemory Source #

Generic Name 
Instance details

Defined in PlutusCore.Name.Unique

Associated Types

type Rep Name :: Type -> Type Source #

Methods

from :: Name -> Rep Name x Source #

to :: Rep Name x -> Name Source #

Generic TyName 
Instance details

Defined in PlutusCore.Name.Unique

Associated Types

type Rep TyName :: Type -> Type Source #

Methods

from :: TyName -> Rep TyName x Source #

to :: Rep TyName x -> TyName Source #

Generic Version 
Instance details

Defined in PlutusCore.Version

Associated Types

type Rep Version :: Type -> Type Source #

Methods

from :: Version -> Rep Version x Source #

to :: Rep Version x -> Version Source #

Generic CekUserError 
Instance details

Defined in UntypedPlutusCore.Evaluation.Machine.Cek.Internal

Associated Types

type Rep CekUserError :: Type -> Type Source #

Methods

from :: CekUserError -> Rep CekUserError x Source #

to :: Rep CekUserError x -> CekUserError Source #

Generic StepKind 
Instance details

Defined in UntypedPlutusCore.Evaluation.Machine.Cek.Internal

Associated Types

type Rep StepKind :: Type -> Type Source #

Methods

from :: StepKind -> Rep StepKind x Source #

to :: Rep StepKind x -> StepKind Source #

Generic SatInt 
Instance details

Defined in Data.SatInt

Associated Types

type Rep SatInt :: Type -> Type Source #

Methods

from :: SatInt -> Rep SatInt x Source #

to :: Rep SatInt x -> SatInt Source #

Generic DatatypeComponent 
Instance details

Defined in PlutusIR.Compiler.Provenance

Associated Types

type Rep DatatypeComponent :: Type -> Type Source #

Methods

from :: DatatypeComponent -> Rep DatatypeComponent x Source #

to :: Rep DatatypeComponent x -> DatatypeComponent Source #

Generic Recursivity 
Instance details

Defined in PlutusIR.Core.Type

Associated Types

type Rep Recursivity :: Type -> Type Source #

Methods

from :: Recursivity -> Rep Recursivity x Source #

to :: Rep Recursivity x -> Recursivity Source #

Generic Strictness 
Instance details

Defined in PlutusIR.Core.Type

Associated Types

type Rep Strictness :: Type -> Type Source #

Methods

from :: Strictness -> Rep Strictness x Source #

to :: Rep Strictness x -> Strictness Source #

Generic EvaluationContext 
Instance details

Defined in PlutusLedgerApi.Common.Eval

Associated Types

type Rep EvaluationContext :: Type -> Type Source #

Methods

from :: EvaluationContext -> Rep EvaluationContext x Source #

to :: Rep EvaluationContext x -> EvaluationContext Source #

Generic MajorProtocolVersion 
Instance details

Defined in PlutusLedgerApi.Common.ProtocolVersions

Associated Types

type Rep MajorProtocolVersion :: Type -> Type Source #

Methods

from :: MajorProtocolVersion -> Rep MajorProtocolVersion x Source #

to :: Rep MajorProtocolVersion x -> MajorProtocolVersion Source #

Generic ScriptForEvaluation 
Instance details

Defined in PlutusLedgerApi.Common.SerialisedScript

Associated Types

type Rep ScriptForEvaluation :: Type -> Type Source #

Methods

from :: ScriptForEvaluation -> Rep ScriptForEvaluation x Source #

to :: Rep ScriptForEvaluation x -> ScriptForEvaluation Source #

Generic ScriptNamedDeBruijn 
Instance details

Defined in PlutusLedgerApi.Common.SerialisedScript

Associated Types

type Rep ScriptNamedDeBruijn :: Type -> Type Source #

Methods

from :: ScriptNamedDeBruijn -> Rep ScriptNamedDeBruijn x Source #

to :: Rep ScriptNamedDeBruijn x -> ScriptNamedDeBruijn Source #

Generic PlutusLedgerLanguage 
Instance details

Defined in PlutusLedgerApi.Common.Versions

Associated Types

type Rep PlutusLedgerLanguage :: Type -> Type Source #

Methods

from :: PlutusLedgerLanguage -> Rep PlutusLedgerLanguage x Source #

to :: Rep PlutusLedgerLanguage x -> PlutusLedgerLanguage Source #

Generic Address 
Instance details

Defined in PlutusLedgerApi.V1.Address

Associated Types

type Rep Address :: Type -> Type Source #

Methods

from :: Address -> Rep Address x Source #

to :: Rep Address x -> Address Source #

Generic LedgerBytes 
Instance details

Defined in PlutusLedgerApi.V1.Bytes

Associated Types

type Rep LedgerBytes :: Type -> Type Source #

Methods

from :: LedgerBytes -> Rep LedgerBytes x Source #

to :: Rep LedgerBytes x -> LedgerBytes Source #

Generic ScriptContext 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

Associated Types

type Rep ScriptContext :: Type -> Type Source #

Methods

from :: ScriptContext -> Rep ScriptContext x Source #

to :: Rep ScriptContext x -> ScriptContext Source #

Generic ScriptPurpose 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

Associated Types

type Rep ScriptPurpose :: Type -> Type Source #

Methods

from :: ScriptPurpose -> Rep ScriptPurpose x Source #

to :: Rep ScriptPurpose x -> ScriptPurpose Source #

Generic TxInInfo 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

Associated Types

type Rep TxInInfo :: Type -> Type Source #

Methods

from :: TxInInfo -> Rep TxInInfo x Source #

to :: Rep TxInInfo x -> TxInInfo Source #

Generic TxInfo 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

Associated Types

type Rep TxInfo :: Type -> Type Source #

Methods

from :: TxInfo -> Rep TxInfo x Source #

to :: Rep TxInfo x -> TxInfo Source #

Generic Credential 
Instance details

Defined in PlutusLedgerApi.V1.Credential

Associated Types

type Rep Credential :: Type -> Type Source #

Methods

from :: Credential -> Rep Credential x Source #

to :: Rep Credential x -> Credential Source #

Generic StakingCredential 
Instance details

Defined in PlutusLedgerApi.V1.Credential

Associated Types

type Rep StakingCredential :: Type -> Type Source #

Methods

from :: StakingCredential -> Rep StakingCredential x Source #

to :: Rep StakingCredential x -> StakingCredential Source #

Generic PubKeyHash 
Instance details

Defined in PlutusLedgerApi.V1.Crypto

Associated Types

type Rep PubKeyHash :: Type -> Type Source #

Methods

from :: PubKeyHash -> Rep PubKeyHash x Source #

to :: Rep PubKeyHash x -> PubKeyHash Source #

Generic DCert 
Instance details

Defined in PlutusLedgerApi.V1.DCert

Associated Types

type Rep DCert :: Type -> Type Source #

Methods

from :: DCert -> Rep DCert x Source #

to :: Rep DCert x -> DCert Source #

Generic ParamName 
Instance details

Defined in PlutusLedgerApi.V1.ParamName

Associated Types

type Rep ParamName :: Type -> Type Source #

Methods

from :: ParamName -> Rep ParamName x Source #

to :: Rep ParamName x -> ParamName Source #

Generic Datum 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Associated Types

type Rep Datum :: Type -> Type Source #

Methods

from :: Datum -> Rep Datum x Source #

to :: Rep Datum x -> Datum Source #

Generic DatumHash 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Associated Types

type Rep DatumHash :: Type -> Type Source #

Methods

from :: DatumHash -> Rep DatumHash x Source #

to :: Rep DatumHash x -> DatumHash Source #

Generic Redeemer 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Associated Types

type Rep Redeemer :: Type -> Type Source #

Methods

from :: Redeemer -> Rep Redeemer x Source #

to :: Rep Redeemer x -> Redeemer Source #

Generic RedeemerHash 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Associated Types

type Rep RedeemerHash :: Type -> Type Source #

Methods

from :: RedeemerHash -> Rep RedeemerHash x Source #

to :: Rep RedeemerHash x -> RedeemerHash Source #

Generic ScriptError 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Associated Types

type Rep ScriptError :: Type -> Type Source #

Methods

from :: ScriptError -> Rep ScriptError x Source #

to :: Rep ScriptError x -> ScriptError Source #

Generic ScriptHash 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Associated Types

type Rep ScriptHash :: Type -> Type Source #

Methods

from :: ScriptHash -> Rep ScriptHash x Source #

to :: Rep ScriptHash x -> ScriptHash Source #

Generic DiffMilliSeconds 
Instance details

Defined in PlutusLedgerApi.V1.Time

Associated Types

type Rep DiffMilliSeconds :: Type -> Type Source #

Methods

from :: DiffMilliSeconds -> Rep DiffMilliSeconds x Source #

to :: Rep DiffMilliSeconds x -> DiffMilliSeconds Source #

Generic POSIXTime 
Instance details

Defined in PlutusLedgerApi.V1.Time

Associated Types

type Rep POSIXTime :: Type -> Type Source #

Methods

from :: POSIXTime -> Rep POSIXTime x Source #

to :: Rep POSIXTime x -> POSIXTime Source #

Generic RedeemerPtr 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Associated Types

type Rep RedeemerPtr :: Type -> Type Source #

Methods

from :: RedeemerPtr -> Rep RedeemerPtr x Source #

to :: Rep RedeemerPtr x -> RedeemerPtr Source #

Generic ScriptTag 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Associated Types

type Rep ScriptTag :: Type -> Type Source #

Methods

from :: ScriptTag -> Rep ScriptTag x Source #

to :: Rep ScriptTag x -> ScriptTag Source #

Generic TxId 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Associated Types

type Rep TxId :: Type -> Type Source #

Methods

from :: TxId -> Rep TxId x Source #

to :: Rep TxId x -> TxId Source #

Generic TxOut 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Associated Types

type Rep TxOut :: Type -> Type Source #

Methods

from :: TxOut -> Rep TxOut x Source #

to :: Rep TxOut x -> TxOut Source #

Generic TxOutRef 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Associated Types

type Rep TxOutRef :: Type -> Type Source #

Methods

from :: TxOutRef -> Rep TxOutRef x Source #

to :: Rep TxOutRef x -> TxOutRef Source #

Generic AssetClass 
Instance details

Defined in PlutusLedgerApi.V1.Value

Associated Types

type Rep AssetClass :: Type -> Type Source #

Methods

from :: AssetClass -> Rep AssetClass x Source #

to :: Rep AssetClass x -> AssetClass Source #

Generic CurrencySymbol 
Instance details

Defined in PlutusLedgerApi.V1.Value

Associated Types

type Rep CurrencySymbol :: Type -> Type Source #

Methods

from :: CurrencySymbol -> Rep CurrencySymbol x Source #

to :: Rep CurrencySymbol x -> CurrencySymbol Source #

Generic Lovelace 
Instance details

Defined in PlutusLedgerApi.V1.Value

Associated Types

type Rep Lovelace :: Type -> Type Source #

Methods

from :: Lovelace -> Rep Lovelace x Source #

to :: Rep Lovelace x -> Lovelace Source #

Generic TokenName 
Instance details

Defined in PlutusLedgerApi.V1.Value

Associated Types

type Rep TokenName :: Type -> Type Source #

Methods

from :: TokenName -> Rep TokenName x Source #

to :: Rep TokenName x -> TokenName Source #

Generic Value 
Instance details

Defined in PlutusLedgerApi.V1.Value

Associated Types

type Rep Value :: Type -> Type Source #

Methods

from :: Value -> Rep Value x Source #

to :: Rep Value x -> Value Source #

Generic ScriptContext 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

Associated Types

type Rep ScriptContext :: Type -> Type Source #

Methods

from :: ScriptContext -> Rep ScriptContext x Source #

to :: Rep ScriptContext x -> ScriptContext Source #

Generic TxInInfo 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

Associated Types

type Rep TxInInfo :: Type -> Type Source #

Methods

from :: TxInInfo -> Rep TxInInfo x Source #

to :: Rep TxInInfo x -> TxInInfo Source #

Generic TxInfo 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

Associated Types

type Rep TxInfo :: Type -> Type Source #

Methods

from :: TxInfo -> Rep TxInfo x Source #

to :: Rep TxInfo x -> TxInfo Source #

Generic ParamName 
Instance details

Defined in PlutusLedgerApi.V2.ParamName

Associated Types

type Rep ParamName :: Type -> Type Source #

Methods

from :: ParamName -> Rep ParamName x Source #

to :: Rep ParamName x -> ParamName Source #

Generic OutputDatum 
Instance details

Defined in PlutusLedgerApi.V2.Tx

Associated Types

type Rep OutputDatum :: Type -> Type Source #

Methods

from :: OutputDatum -> Rep OutputDatum x Source #

to :: Rep OutputDatum x -> OutputDatum Source #

Generic TxOut 
Instance details

Defined in PlutusLedgerApi.V2.Tx

Associated Types

type Rep TxOut :: Type -> Type Source #

Methods

from :: TxOut -> Rep TxOut x Source #

to :: Rep TxOut x -> TxOut Source #

Generic ChangedParameters 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep ChangedParameters :: Type -> Type Source #

Methods

from :: ChangedParameters -> Rep ChangedParameters x Source #

to :: Rep ChangedParameters x -> ChangedParameters Source #

Generic ColdCommitteeCredential 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep ColdCommitteeCredential :: Type -> Type Source #

Methods

from :: ColdCommitteeCredential -> Rep ColdCommitteeCredential x Source #

to :: Rep ColdCommitteeCredential x -> ColdCommitteeCredential Source #

Generic Committee 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep Committee :: Type -> Type Source #

Methods

from :: Committee -> Rep Committee x Source #

to :: Rep Committee x -> Committee Source #

Generic Constitution 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep Constitution :: Type -> Type Source #

Methods

from :: Constitution -> Rep Constitution x Source #

to :: Rep Constitution x -> Constitution Source #

Generic DRep 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep DRep :: Type -> Type Source #

Methods

from :: DRep -> Rep DRep x Source #

to :: Rep DRep x -> DRep Source #

Generic DRepCredential 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep DRepCredential :: Type -> Type Source #

Methods

from :: DRepCredential -> Rep DRepCredential x Source #

to :: Rep DRepCredential x -> DRepCredential Source #

Generic Delegatee 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep Delegatee :: Type -> Type Source #

Methods

from :: Delegatee -> Rep Delegatee x Source #

to :: Rep Delegatee x -> Delegatee Source #

Generic GovernanceAction 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep GovernanceAction :: Type -> Type Source #

Methods

from :: GovernanceAction -> Rep GovernanceAction x Source #

to :: Rep GovernanceAction x -> GovernanceAction Source #

Generic GovernanceActionId 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep GovernanceActionId :: Type -> Type Source #

Methods

from :: GovernanceActionId -> Rep GovernanceActionId x Source #

to :: Rep GovernanceActionId x -> GovernanceActionId Source #

Generic HotCommitteeCredential 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep HotCommitteeCredential :: Type -> Type Source #

Methods

from :: HotCommitteeCredential -> Rep HotCommitteeCredential x Source #

to :: Rep HotCommitteeCredential x -> HotCommitteeCredential Source #

Generic ProposalProcedure 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep ProposalProcedure :: Type -> Type Source #

Methods

from :: ProposalProcedure -> Rep ProposalProcedure x Source #

to :: Rep ProposalProcedure x -> ProposalProcedure Source #

Generic ProtocolVersion 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep ProtocolVersion :: Type -> Type Source #

Methods

from :: ProtocolVersion -> Rep ProtocolVersion x Source #

to :: Rep ProtocolVersion x -> ProtocolVersion Source #

Generic ScriptContext 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep ScriptContext :: Type -> Type Source #

Methods

from :: ScriptContext -> Rep ScriptContext x Source #

to :: Rep ScriptContext x -> ScriptContext Source #

Generic ScriptInfo 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep ScriptInfo :: Type -> Type Source #

Methods

from :: ScriptInfo -> Rep ScriptInfo x Source #

to :: Rep ScriptInfo x -> ScriptInfo Source #

Generic ScriptPurpose 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep ScriptPurpose :: Type -> Type Source #

Methods

from :: ScriptPurpose -> Rep ScriptPurpose x Source #

to :: Rep ScriptPurpose x -> ScriptPurpose Source #

Generic TxCert 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep TxCert :: Type -> Type Source #

Methods

from :: TxCert -> Rep TxCert x Source #

to :: Rep TxCert x -> TxCert Source #

Generic TxInInfo 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep TxInInfo :: Type -> Type Source #

Methods

from :: TxInInfo -> Rep TxInInfo x Source #

to :: Rep TxInInfo x -> TxInInfo Source #

Generic TxInfo 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep TxInfo :: Type -> Type Source #

Methods

from :: TxInfo -> Rep TxInfo x Source #

to :: Rep TxInfo x -> TxInfo Source #

Generic Vote 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep Vote :: Type -> Type Source #

Methods

from :: Vote -> Rep Vote x Source #

to :: Rep Vote x -> Vote Source #

Generic Voter 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep Voter :: Type -> Type Source #

Methods

from :: Voter -> Rep Voter x Source #

to :: Rep Voter x -> Voter Source #

Generic ParamName 
Instance details

Defined in PlutusLedgerApi.V3.ParamName

Associated Types

type Rep ParamName :: Type -> Type Source #

Methods

from :: ParamName -> Rep ParamName x Source #

to :: Rep ParamName x -> ParamName Source #

Generic TxId 
Instance details

Defined in PlutusLedgerApi.V3.Tx

Associated Types

type Rep TxId :: Type -> Type Source #

Methods

from :: TxId -> Rep TxId x Source #

to :: Rep TxId x -> TxId Source #

Generic TxOutRef 
Instance details

Defined in PlutusLedgerApi.V3.Tx

Associated Types

type Rep TxOutRef :: Type -> Type Source #

Methods

from :: TxOutRef -> Rep TxOutRef x Source #

to :: Rep TxOutRef x -> TxOutRef Source #

Generic DefinitionId 
Instance details

Defined in PlutusTx.Blueprint.Definition.Id

Associated Types

type Rep DefinitionId :: Type -> Type Source #

Methods

from :: DefinitionId -> Rep DefinitionId x Source #

to :: Rep DefinitionId x -> DefinitionId Source #

Generic Preamble 
Instance details

Defined in PlutusTx.Blueprint.Preamble

Associated Types

type Rep Preamble :: Type -> Type Source #

Methods

from :: Preamble -> Rep Preamble x Source #

to :: Rep Preamble x -> Preamble Source #

Generic BytesSchema 
Instance details

Defined in PlutusTx.Blueprint.Schema

Associated Types

type Rep BytesSchema :: Type -> Type Source #

Methods

from :: BytesSchema -> Rep BytesSchema x Source #

to :: Rep BytesSchema x -> BytesSchema Source #

Generic IntegerSchema 
Instance details

Defined in PlutusTx.Blueprint.Schema

Associated Types

type Rep IntegerSchema :: Type -> Type Source #

Methods

from :: IntegerSchema -> Rep IntegerSchema x Source #

to :: Rep IntegerSchema x -> IntegerSchema Source #

Generic SchemaAnn 
Instance details

Defined in PlutusTx.Blueprint.Schema.Annotation

Associated Types

type Rep SchemaAnn :: Type -> Type Source #

Methods

from :: SchemaAnn -> Rep SchemaAnn x Source #

to :: Rep SchemaAnn x -> SchemaAnn Source #

Generic SchemaInfo 
Instance details

Defined in PlutusTx.Blueprint.Schema.Annotation

Associated Types

type Rep SchemaInfo :: Type -> Type Source #

Methods

from :: SchemaInfo -> Rep SchemaInfo x Source #

to :: Rep SchemaInfo x -> SchemaInfo Source #

Generic BuiltinData 
Instance details

Defined in PlutusTx.Builtins.Internal

Associated Types

type Rep BuiltinData :: Type -> Type Source #

Methods

from :: BuiltinData -> Rep BuiltinData x Source #

to :: Rep BuiltinData x -> BuiltinData Source #

Generic CovLoc 
Instance details

Defined in PlutusTx.Coverage

Associated Types

type Rep CovLoc :: Type -> Type Source #

Methods

from :: CovLoc -> Rep CovLoc x Source #

to :: Rep CovLoc x -> CovLoc Source #

Generic CoverageAnnotation 
Instance details

Defined in PlutusTx.Coverage

Associated Types

type Rep CoverageAnnotation :: Type -> Type Source #

Methods

from :: CoverageAnnotation -> Rep CoverageAnnotation x Source #

to :: Rep CoverageAnnotation x -> CoverageAnnotation Source #

Generic CoverageData 
Instance details

Defined in PlutusTx.Coverage

Associated Types

type Rep CoverageData :: Type -> Type Source #

Methods

from :: CoverageData -> Rep CoverageData x Source #

to :: Rep CoverageData x -> CoverageData Source #

Generic CoverageIndex 
Instance details

Defined in PlutusTx.Coverage

Associated Types

type Rep CoverageIndex :: Type -> Type Source #

Methods

from :: CoverageIndex -> Rep CoverageIndex x Source #

to :: Rep CoverageIndex x -> CoverageIndex Source #

Generic CoverageMetadata 
Instance details

Defined in PlutusTx.Coverage

Associated Types

type Rep CoverageMetadata :: Type -> Type Source #

Methods

from :: CoverageMetadata -> Rep CoverageMetadata x Source #

to :: Rep CoverageMetadata x -> CoverageMetadata Source #

Generic CoverageReport 
Instance details

Defined in PlutusTx.Coverage

Associated Types

type Rep CoverageReport :: Type -> Type Source #

Methods

from :: CoverageReport -> Rep CoverageReport x Source #

to :: Rep CoverageReport x -> CoverageReport Source #

Generic Metadata 
Instance details

Defined in PlutusTx.Coverage

Associated Types

type Rep Metadata :: Type -> Type Source #

Methods

from :: Metadata -> Rep Metadata x Source #

to :: Rep Metadata x -> Metadata Source #

Generic Rational 
Instance details

Defined in PlutusTx.Ratio

Associated Types

type Rep Rational :: Type -> Type Source #

Methods

from :: Rational -> Rep Rational x Source #

to :: Rep Rational x -> Rational Source #

Generic Mode 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Associated Types

type Rep Mode :: Type -> Type Source #

Methods

from :: Mode -> Rep Mode x Source #

to :: Rep Mode x -> Mode Source #

Generic Style 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Associated Types

type Rep Style :: Type -> Type Source #

Methods

from :: Style -> Rep Style x Source #

to :: Rep Style x -> Style Source #

Generic TextDetails 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Associated Types

type Rep TextDetails :: Type -> Type Source #

Generic Doc 
Instance details

Defined in Text.PrettyPrint.HughesPJ

Associated Types

type Rep Doc :: Type -> Type Source #

Methods

from :: Doc -> Rep Doc x Source #

to :: Rep Doc x -> Doc Source #

Generic AnnLookup 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep AnnLookup :: Type -> Type Source #

Generic AnnTarget 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep AnnTarget :: Type -> Type Source #

Generic Bang 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Bang :: Type -> Type Source #

Methods

from :: Bang -> Rep Bang x Source #

to :: Rep Bang x -> Bang Source #

Generic Body 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Body :: Type -> Type Source #

Methods

from :: Body -> Rep Body x Source #

to :: Rep Body x -> Body Source #

Generic Bytes 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Bytes :: Type -> Type Source #

Methods

from :: Bytes -> Rep Bytes x Source #

to :: Rep Bytes x -> Bytes Source #

Generic Callconv 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Callconv :: Type -> Type Source #

Generic Clause 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Clause :: Type -> Type Source #

Generic Con 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Con :: Type -> Type Source #

Methods

from :: Con -> Rep Con x Source #

to :: Rep Con x -> Con Source #

Generic Dec 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Dec :: Type -> Type Source #

Methods

from :: Dec -> Rep Dec x Source #

to :: Rep Dec x -> Dec Source #

Generic DecidedStrictness 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep DecidedStrictness :: Type -> Type Source #

Generic DerivClause 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep DerivClause :: Type -> Type Source #

Generic DerivStrategy 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep DerivStrategy :: Type -> Type Source #

Generic DocLoc 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep DocLoc :: Type -> Type Source #

Generic Exp 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Exp :: Type -> Type Source #

Methods

from :: Exp -> Rep Exp x Source #

to :: Rep Exp x -> Exp Source #

Generic FamilyResultSig 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep FamilyResultSig :: Type -> Type Source #

Generic Fixity 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Fixity :: Type -> Type Source #

Generic FixityDirection 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep FixityDirection :: Type -> Type Source #

Generic Foreign 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Foreign :: Type -> Type Source #

Generic FunDep 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep FunDep :: Type -> Type Source #

Generic Guard 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Guard :: Type -> Type Source #

Methods

from :: Guard -> Rep Guard x Source #

to :: Rep Guard x -> Guard Source #

Generic Info 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Info :: Type -> Type Source #

Methods

from :: Info -> Rep Info x Source #

to :: Rep Info x -> Info Source #

Generic InjectivityAnn 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep InjectivityAnn :: Type -> Type Source #

Generic Inline 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Inline :: Type -> Type Source #

Generic Lit 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Lit :: Type -> Type Source #

Methods

from :: Lit -> Rep Lit x Source #

to :: Rep Lit x -> Lit Source #

Generic Loc 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Loc :: Type -> Type Source #

Methods

from :: Loc -> Rep Loc x Source #

to :: Rep Loc x -> Loc Source #

Generic Match 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Match :: Type -> Type Source #

Methods

from :: Match -> Rep Match x Source #

to :: Rep Match x -> Match Source #

Generic ModName 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep ModName :: Type -> Type Source #

Generic Module 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Module :: Type -> Type Source #

Generic ModuleInfo 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep ModuleInfo :: Type -> Type Source #

Generic Name 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Name :: Type -> Type Source #

Methods

from :: Name -> Rep Name x Source #

to :: Rep Name x -> Name Source #

Generic NameFlavour 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep NameFlavour :: Type -> Type Source #

Generic NameSpace 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep NameSpace :: Type -> Type Source #

Generic OccName 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep OccName :: Type -> Type Source #

Generic Overlap 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Overlap :: Type -> Type Source #

Generic Pat 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Pat :: Type -> Type Source #

Methods

from :: Pat -> Rep Pat x Source #

to :: Rep Pat x -> Pat Source #

Generic PatSynArgs 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep PatSynArgs :: Type -> Type Source #

Generic PatSynDir 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep PatSynDir :: Type -> Type Source #

Generic Phases 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Phases :: Type -> Type Source #

Generic PkgName 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep PkgName :: Type -> Type Source #

Generic Pragma 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Pragma :: Type -> Type Source #

Generic Range 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Range :: Type -> Type Source #

Methods

from :: Range -> Rep Range x Source #

to :: Rep Range x -> Range Source #

Generic Role 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Role :: Type -> Type Source #

Methods

from :: Role -> Rep Role x Source #

to :: Rep Role x -> Role Source #

Generic RuleBndr 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep RuleBndr :: Type -> Type Source #

Generic RuleMatch 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep RuleMatch :: Type -> Type Source #

Generic Safety 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Safety :: Type -> Type Source #

Generic SourceStrictness 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep SourceStrictness :: Type -> Type Source #

Generic SourceUnpackedness 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep SourceUnpackedness :: Type -> Type Source #

Generic Specificity 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Specificity :: Type -> Type Source #

Generic Stmt 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Stmt :: Type -> Type Source #

Methods

from :: Stmt -> Rep Stmt x Source #

to :: Rep Stmt x -> Stmt Source #

Generic TyLit 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep TyLit :: Type -> Type Source #

Methods

from :: TyLit -> Rep TyLit x Source #

to :: Rep TyLit x -> TyLit Source #

Generic TySynEqn 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep TySynEqn :: Type -> Type Source #

Generic Type 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep Type :: Type -> Type Source #

Methods

from :: Type -> Rep Type x Source #

to :: Rep Type x -> Type Source #

Generic TypeFamilyHead 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep TypeFamilyHead :: Type -> Type Source #

Generic ConstructorInfo 
Instance details

Defined in Language.Haskell.TH.Datatype

Associated Types

type Rep ConstructorInfo :: Type -> Type Source #

Methods

from :: ConstructorInfo -> Rep ConstructorInfo x Source #

to :: Rep ConstructorInfo x -> ConstructorInfo Source #

Generic ConstructorVariant 
Instance details

Defined in Language.Haskell.TH.Datatype

Associated Types

type Rep ConstructorVariant :: Type -> Type Source #

Methods

from :: ConstructorVariant -> Rep ConstructorVariant x Source #

to :: Rep ConstructorVariant x -> ConstructorVariant Source #

Generic DatatypeInfo 
Instance details

Defined in Language.Haskell.TH.Datatype

Associated Types

type Rep DatatypeInfo :: Type -> Type Source #

Methods

from :: DatatypeInfo -> Rep DatatypeInfo x Source #

to :: Rep DatatypeInfo x -> DatatypeInfo Source #

Generic DatatypeVariant 
Instance details

Defined in Language.Haskell.TH.Datatype

Associated Types

type Rep DatatypeVariant :: Type -> Type Source #

Methods

from :: DatatypeVariant -> Rep DatatypeVariant x Source #

to :: Rep DatatypeVariant x -> DatatypeVariant Source #

Generic FieldStrictness 
Instance details

Defined in Language.Haskell.TH.Datatype

Associated Types

type Rep FieldStrictness :: Type -> Type Source #

Methods

from :: FieldStrictness -> Rep FieldStrictness x Source #

to :: Rep FieldStrictness x -> FieldStrictness Source #

Generic Strictness 
Instance details

Defined in Language.Haskell.TH.Datatype

Associated Types

type Rep Strictness :: Type -> Type Source #

Methods

from :: Strictness -> Rep Strictness x Source #

to :: Rep Strictness x -> Strictness Source #

Generic Unpackedness 
Instance details

Defined in Language.Haskell.TH.Datatype

Associated Types

type Rep Unpackedness :: Type -> Type Source #

Methods

from :: Unpackedness -> Rep Unpackedness x Source #

to :: Rep Unpackedness x -> Unpackedness Source #

Generic () 
Instance details

Defined in GHC.Generics

Associated Types

type Rep () :: Type -> Type Source #

Methods

from :: () -> Rep () x Source #

to :: Rep () x -> () Source #

Generic Bool 
Instance details

Defined in GHC.Generics

Associated Types

type Rep Bool :: Type -> Type Source #

Methods

from :: Bool -> Rep Bool x Source #

to :: Rep Bool x -> Bool Source #

Generic (Only a) 
Instance details

Defined in Data.Tuple.Only

Associated Types

type Rep (Only a) :: Type -> Type Source #

Methods

from :: Only a -> Rep (Only a) x Source #

to :: Rep (Only a) x -> Only a Source #

Generic (Graph a) 
Instance details

Defined in Algebra.Graph

Associated Types

type Rep (Graph a) :: Type -> Type Source #

Methods

from :: Graph a -> Rep (Graph a) x Source #

to :: Rep (Graph a) x -> Graph a Source #

Generic (AdjacencyMap a) 
Instance details

Defined in Algebra.Graph.AdjacencyMap

Associated Types

type Rep (AdjacencyMap a) :: Type -> Type Source #

Methods

from :: AdjacencyMap a -> Rep (AdjacencyMap a) x Source #

to :: Rep (AdjacencyMap a) x -> AdjacencyMap a Source #

Generic (AdjacencyMap a) 
Instance details

Defined in Algebra.Graph.NonEmpty.AdjacencyMap

Associated Types

type Rep (AdjacencyMap a) :: Type -> Type Source #

Methods

from :: AdjacencyMap a -> Rep (AdjacencyMap a) x Source #

to :: Rep (AdjacencyMap a) x -> AdjacencyMap a Source #

Generic (Graph a) 
Instance details

Defined in Algebra.Graph.Undirected

Associated Types

type Rep (Graph a) :: Type -> Type Source #

Methods

from :: Graph a -> Rep (Graph a) x Source #

to :: Rep (Graph a) x -> Graph a Source #

Generic (ZipList a) 
Instance details

Defined in Control.Applicative

Associated Types

type Rep (ZipList a) :: Type -> Type Source #

Methods

from :: ZipList a -> Rep (ZipList a) x Source #

to :: Rep (ZipList a) x -> ZipList a Source #

Generic (Complex a) 
Instance details

Defined in Data.Complex

Associated Types

type Rep (Complex a) :: Type -> Type Source #

Methods

from :: Complex a -> Rep (Complex a) x Source #

to :: Rep (Complex a) x -> Complex a Source #

Generic (Identity a) 
Instance details

Defined in Data.Functor.Identity

Associated Types

type Rep (Identity a) :: Type -> Type Source #

Methods

from :: Identity a -> Rep (Identity a) x Source #

to :: Rep (Identity a) x -> Identity a Source #

Generic (First a) 
Instance details

Defined in Data.Monoid

Associated Types

type Rep (First a) :: Type -> Type Source #

Methods

from :: First a -> Rep (First a) x Source #

to :: Rep (First a) x -> First a Source #

Generic (Last a) 
Instance details

Defined in Data.Monoid

Associated Types

type Rep (Last a) :: Type -> Type Source #

Methods

from :: Last a -> Rep (Last a) x Source #

to :: Rep (Last a) x -> Last a Source #

Generic (Down a) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (Down a) :: Type -> Type Source #

Methods

from :: Down a -> Rep (Down a) x Source #

to :: Rep (Down a) x -> Down a Source #

Generic (First a) 
Instance details

Defined in Data.Semigroup

Associated Types

type Rep (First a) :: Type -> Type Source #

Methods

from :: First a -> Rep (First a) x Source #

to :: Rep (First a) x -> First a Source #

Generic (Last a) 
Instance details

Defined in Data.Semigroup

Associated Types

type Rep (Last a) :: Type -> Type Source #

Methods

from :: Last a -> Rep (Last a) x Source #

to :: Rep (Last a) x -> Last a Source #

Generic (Max a) 
Instance details

Defined in Data.Semigroup

Associated Types

type Rep (Max a) :: Type -> Type Source #

Methods

from :: Max a -> Rep (Max a) x Source #

to :: Rep (Max a) x -> Max a Source #

Generic (Min a) 
Instance details

Defined in Data.Semigroup

Associated Types

type Rep (Min a) :: Type -> Type Source #

Methods

from :: Min a -> Rep (Min a) x Source #

to :: Rep (Min a) x -> Min a Source #

Generic (WrappedMonoid m) 
Instance details

Defined in Data.Semigroup

Associated Types

type Rep (WrappedMonoid m) :: Type -> Type Source #

Generic (Dual a) 
Instance details

Defined in Data.Semigroup.Internal

Associated Types

type Rep (Dual a) :: Type -> Type Source #

Methods

from :: Dual a -> Rep (Dual a) x Source #

to :: Rep (Dual a) x -> Dual a Source #

Generic (Endo a) 
Instance details

Defined in Data.Semigroup.Internal

Associated Types

type Rep (Endo a) :: Type -> Type Source #

Methods

from :: Endo a -> Rep (Endo a) x Source #

to :: Rep (Endo a) x -> Endo a Source #

Generic (Product a) 
Instance details

Defined in Data.Semigroup.Internal

Associated Types

type Rep (Product a) :: Type -> Type Source #

Methods

from :: Product a -> Rep (Product a) x Source #

to :: Rep (Product a) x -> Product a Source #

Generic (Sum a) 
Instance details

Defined in Data.Semigroup.Internal

Associated Types

type Rep (Sum a) :: Type -> Type Source #

Methods

from :: Sum a -> Rep (Sum a) x Source #

to :: Rep (Sum a) x -> Sum a Source #

Generic (NonEmpty a) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (NonEmpty a) :: Type -> Type Source #

Methods

from :: NonEmpty a -> Rep (NonEmpty a) x Source #

to :: Rep (NonEmpty a) x -> NonEmpty a Source #

Generic (Par1 p) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (Par1 p) :: Type -> Type Source #

Methods

from :: Par1 p -> Rep (Par1 p) x Source #

to :: Rep (Par1 p) x -> Par1 p Source #

Generic (SigDSIGN EcdsaSecp256k1DSIGN) 
Instance details

Defined in Cardano.Crypto.DSIGN.EcdsaSecp256k1

Associated Types

type Rep (SigDSIGN EcdsaSecp256k1DSIGN) :: Type -> Type Source #

Methods

from :: SigDSIGN EcdsaSecp256k1DSIGN -> Rep (SigDSIGN EcdsaSecp256k1DSIGN) x Source #

to :: Rep (SigDSIGN EcdsaSecp256k1DSIGN) x -> SigDSIGN EcdsaSecp256k1DSIGN Source #

Generic (SigDSIGN Ed25519DSIGN) 
Instance details

Defined in Cardano.Crypto.DSIGN.Ed25519

Associated Types

type Rep (SigDSIGN Ed25519DSIGN) :: Type -> Type Source #

Methods

from :: SigDSIGN Ed25519DSIGN -> Rep (SigDSIGN Ed25519DSIGN) x Source #

to :: Rep (SigDSIGN Ed25519DSIGN) x -> SigDSIGN Ed25519DSIGN Source #

Generic (SigDSIGN SchnorrSecp256k1DSIGN) 
Instance details

Defined in Cardano.Crypto.DSIGN.SchnorrSecp256k1

Associated Types

type Rep (SigDSIGN SchnorrSecp256k1DSIGN) :: Type -> Type Source #

Methods

from :: SigDSIGN SchnorrSecp256k1DSIGN -> Rep (SigDSIGN SchnorrSecp256k1DSIGN) x Source #

to :: Rep (SigDSIGN SchnorrSecp256k1DSIGN) x -> SigDSIGN SchnorrSecp256k1DSIGN Source #

Generic (SignKeyDSIGN EcdsaSecp256k1DSIGN) 
Instance details

Defined in Cardano.Crypto.DSIGN.EcdsaSecp256k1

Associated Types

type Rep (SignKeyDSIGN EcdsaSecp256k1DSIGN) :: Type -> Type Source #

Methods

from :: SignKeyDSIGN EcdsaSecp256k1DSIGN -> Rep (SignKeyDSIGN EcdsaSecp256k1DSIGN) x Source #

to :: Rep (SignKeyDSIGN EcdsaSecp256k1DSIGN) x -> SignKeyDSIGN EcdsaSecp256k1DSIGN Source #

Generic (SignKeyDSIGN Ed25519DSIGN) 
Instance details

Defined in Cardano.Crypto.DSIGN.Ed25519

Associated Types

type Rep (SignKeyDSIGN Ed25519DSIGN) :: Type -> Type Source #

Methods

from :: SignKeyDSIGN Ed25519DSIGN -> Rep (SignKeyDSIGN Ed25519DSIGN) x Source #

to :: Rep (SignKeyDSIGN Ed25519DSIGN) x -> SignKeyDSIGN Ed25519DSIGN Source #

Generic (SignKeyDSIGN SchnorrSecp256k1DSIGN) 
Instance details

Defined in Cardano.Crypto.DSIGN.SchnorrSecp256k1

Associated Types

type Rep (SignKeyDSIGN SchnorrSecp256k1DSIGN) :: Type -> Type Source #

Methods

from :: SignKeyDSIGN SchnorrSecp256k1DSIGN -> Rep (SignKeyDSIGN SchnorrSecp256k1DSIGN) x Source #

to :: Rep (SignKeyDSIGN SchnorrSecp256k1DSIGN) x -> SignKeyDSIGN SchnorrSecp256k1DSIGN Source #

Generic (VerKeyDSIGN EcdsaSecp256k1DSIGN) 
Instance details

Defined in Cardano.Crypto.DSIGN.EcdsaSecp256k1

Associated Types

type Rep (VerKeyDSIGN EcdsaSecp256k1DSIGN) :: Type -> Type Source #

Methods

from :: VerKeyDSIGN EcdsaSecp256k1DSIGN -> Rep (VerKeyDSIGN EcdsaSecp256k1DSIGN) x Source #

to :: Rep (VerKeyDSIGN EcdsaSecp256k1DSIGN) x -> VerKeyDSIGN EcdsaSecp256k1DSIGN Source #

Generic (VerKeyDSIGN Ed25519DSIGN) 
Instance details

Defined in Cardano.Crypto.DSIGN.Ed25519

Associated Types

type Rep (VerKeyDSIGN Ed25519DSIGN) :: Type -> Type Source #

Methods

from :: VerKeyDSIGN Ed25519DSIGN -> Rep (VerKeyDSIGN Ed25519DSIGN) x Source #

to :: Rep (VerKeyDSIGN Ed25519DSIGN) x -> VerKeyDSIGN Ed25519DSIGN Source #

Generic (VerKeyDSIGN SchnorrSecp256k1DSIGN) 
Instance details

Defined in Cardano.Crypto.DSIGN.SchnorrSecp256k1

Associated Types

type Rep (VerKeyDSIGN SchnorrSecp256k1DSIGN) :: Type -> Type Source #

Methods

from :: VerKeyDSIGN SchnorrSecp256k1DSIGN -> Rep (VerKeyDSIGN SchnorrSecp256k1DSIGN) x Source #

to :: Rep (VerKeyDSIGN SchnorrSecp256k1DSIGN) x -> VerKeyDSIGN SchnorrSecp256k1DSIGN Source #

Generic (SCC vertex) 
Instance details

Defined in Data.Graph

Associated Types

type Rep (SCC vertex) :: Type -> Type Source #

Methods

from :: SCC vertex -> Rep (SCC vertex) x Source #

to :: Rep (SCC vertex) x -> SCC vertex Source #

Generic (Digit a) 
Instance details

Defined in Data.Sequence.Internal

Associated Types

type Rep (Digit a) :: Type -> Type Source #

Methods

from :: Digit a -> Rep (Digit a) x Source #

to :: Rep (Digit a) x -> Digit a Source #

Generic (Elem a) 
Instance details

Defined in Data.Sequence.Internal

Associated Types

type Rep (Elem a) :: Type -> Type Source #

Methods

from :: Elem a -> Rep (Elem a) x Source #

to :: Rep (Elem a) x -> Elem a Source #

Generic (FingerTree a) 
Instance details

Defined in Data.Sequence.Internal

Associated Types

type Rep (FingerTree a) :: Type -> Type Source #

Methods

from :: FingerTree a -> Rep (FingerTree a) x Source #

to :: Rep (FingerTree a) x -> FingerTree a Source #

Generic (Node a) 
Instance details

Defined in Data.Sequence.Internal

Associated Types

type Rep (Node a) :: Type -> Type Source #

Methods

from :: Node a -> Rep (Node a) x Source #

to :: Rep (Node a) x -> Node a Source #

Generic (ViewL a) 
Instance details

Defined in Data.Sequence.Internal

Associated Types

type Rep (ViewL a) :: Type -> Type Source #

Methods

from :: ViewL a -> Rep (ViewL a) x Source #

to :: Rep (ViewL a) x -> ViewL a Source #

Generic (ViewR a) 
Instance details

Defined in Data.Sequence.Internal

Associated Types

type Rep (ViewR a) :: Type -> Type Source #

Methods

from :: ViewR a -> Rep (ViewR a) x Source #

to :: Rep (ViewR a) x -> ViewR a Source #

Generic (Tree a) 
Instance details

Defined in Data.Tree

Associated Types

type Rep (Tree a) :: Type -> Type Source #

Methods

from :: Tree a -> Rep (Tree a) x Source #

to :: Rep (Tree a) x -> Tree a Source #

Generic (Fix f) 
Instance details

Defined in Data.Fix

Associated Types

type Rep (Fix f) :: Type -> Type Source #

Methods

from :: Fix f -> Rep (Fix f) x Source #

to :: Rep (Fix f) x -> Fix f Source #

Generic (PostAligned a) 
Instance details

Defined in Flat.Filler

Associated Types

type Rep (PostAligned a) :: Type -> Type Source #

Methods

from :: PostAligned a -> Rep (PostAligned a) x Source #

to :: Rep (PostAligned a) x -> PostAligned a Source #

Generic (PreAligned a) 
Instance details

Defined in Flat.Filler

Associated Types

type Rep (PreAligned a) :: Type -> Type Source #

Methods

from :: PreAligned a -> Rep (PreAligned a) x Source #

to :: Rep (PreAligned a) x -> PreAligned a Source #

Generic (GenClosure b) 
Instance details

Defined in GHC.Exts.Heap.Closures

Associated Types

type Rep (GenClosure b) :: Type -> Type Source #

Methods

from :: GenClosure b -> Rep (GenClosure b) x Source #

to :: Rep (GenClosure b) x -> GenClosure b Source #

Generic (ErrorFancy e) 
Instance details

Defined in Text.Megaparsec.Error

Associated Types

type Rep (ErrorFancy e) :: Type -> Type Source #

Methods

from :: ErrorFancy e -> Rep (ErrorFancy e) x Source #

to :: Rep (ErrorFancy e) x -> ErrorFancy e Source #

Generic (ErrorItem t) 
Instance details

Defined in Text.Megaparsec.Error

Associated Types

type Rep (ErrorItem t) :: Type -> Type Source #

Methods

from :: ErrorItem t -> Rep (ErrorItem t) x Source #

to :: Rep (ErrorItem t) x -> ErrorItem t Source #

Generic (PosState s) 
Instance details

Defined in Text.Megaparsec.State

Associated Types

type Rep (PosState s) :: Type -> Type Source #

Methods

from :: PosState s -> Rep (PosState s) x Source #

to :: Rep (PosState s) x -> PosState s Source #

Generic (PBuiltinBLS12_381_G1_Element s) Source # 
Instance details

Defined in Plutarch.BLS

Associated Types

type Rep (PBuiltinBLS12_381_G1_Element s) :: Type -> Type Source #

Generic (PBuiltinBLS12_381_G2_Element s) Source # 
Instance details

Defined in Plutarch.BLS

Associated Types

type Rep (PBuiltinBLS12_381_G2_Element s) :: Type -> Type Source #

Generic (PBuiltinBLS12_381_MlResult s) Source # 
Instance details

Defined in Plutarch.BLS

Associated Types

type Rep (PBuiltinBLS12_381_MlResult s) :: Type -> Type Source #

Generic (PBitString s) Source # 
Instance details

Defined in Plutarch.BitString

Associated Types

type Rep (PBitString s) :: Type -> Type Source #

Methods

from :: PBitString s -> Rep (PBitString s) x Source #

to :: Rep (PBitString s) x -> PBitString s Source #

Generic (PByte s) Source # 
Instance details

Defined in Plutarch.ByteString

Associated Types

type Rep (PByte s) :: Type -> Type Source #

Methods

from :: PByte s -> Rep (PByte s) x Source #

to :: Rep (PByte s) x -> PByte s Source #

Generic (PByteString s) Source # 
Instance details

Defined in Plutarch.ByteString

Associated Types

type Rep (PByteString s) :: Type -> Type Source #

Generic (PLogicOpSemantics s) Source # 
Instance details

Defined in Plutarch.ByteString

Associated Types

type Rep (PLogicOpSemantics s) :: Type -> Type Source #

Generic (PEndianness s) Source # 
Instance details

Defined in Plutarch.Convert

Associated Types

type Rep (PEndianness s) :: Type -> Type Source #

Generic (PInteger s) Source # 
Instance details

Defined in Plutarch.Integer

Associated Types

type Rep (PInteger s) :: Type -> Type Source #

Methods

from :: PInteger s -> Rep (PInteger s) x Source #

to :: Rep (PInteger s) x -> PInteger s Source #

Generic (PPositive s) Source # 
Instance details

Defined in Plutarch.Positive

Associated Types

type Rep (PPositive s) :: Type -> Type Source #

Methods

from :: PPositive s -> Rep (PPositive s) x Source #

to :: Rep (PPositive s) x -> PPositive s Source #

Generic (PRational s) Source # 
Instance details

Defined in Plutarch.Rational

Associated Types

type Rep (PRational s) :: Type -> Type Source #

Methods

from :: PRational s -> Rep (PRational s) x Source #

to :: Rep (PRational s) x -> PRational s Source #

Generic (PString s) Source # 
Instance details

Defined in Plutarch.String

Associated Types

type Rep (PString s) :: Type -> Type Source #

Methods

from :: PString s -> Rep (PString s) x Source #

to :: Rep (PString s) x -> PString s Source #

Generic (BuiltinSemanticsVariant DefaultFun) 
Instance details

Defined in PlutusCore.Default.Builtins

Associated Types

type Rep (BuiltinSemanticsVariant DefaultFun) :: Type -> Type Source #

Methods

from :: BuiltinSemanticsVariant DefaultFun -> Rep (BuiltinSemanticsVariant DefaultFun) x Source #

to :: Rep (BuiltinSemanticsVariant DefaultFun) x -> BuiltinSemanticsVariant DefaultFun Source #

Generic (Kind ann) 
Instance details

Defined in PlutusCore.Core.Type

Associated Types

type Rep (Kind ann) :: Type -> Type Source #

Methods

from :: Kind ann -> Rep (Kind ann) x Source #

to :: Rep (Kind ann) x -> Kind ann Source #

Generic (Normalized a) 
Instance details

Defined in PlutusCore.Core.Type

Associated Types

type Rep (Normalized a) :: Type -> Type Source #

Methods

from :: Normalized a -> Rep (Normalized a) x Source #

to :: Rep (Normalized a) x -> Normalized a Source #

Generic (LR a) 
Instance details

Defined in PlutusCore.Eq

Associated Types

type Rep (LR a) :: Type -> Type Source #

Methods

from :: LR a -> Rep (LR a) x Source #

to :: Rep (LR a) x -> LR a Source #

Generic (RL a) 
Instance details

Defined in PlutusCore.Eq

Associated Types

type Rep (RL a) :: Type -> Type Source #

Methods

from :: RL a -> Rep (RL a) x Source #

to :: Rep (RL a) x -> RL a Source #

Generic (ExpectedShapeOr a) 
Instance details

Defined in PlutusCore.Error

Associated Types

type Rep (ExpectedShapeOr a) :: Type -> Type Source #

Methods

from :: ExpectedShapeOr a -> Rep (ExpectedShapeOr a) x Source #

to :: Rep (ExpectedShapeOr a) x -> ExpectedShapeOr a Source #

Generic (UniqueError ann) 
Instance details

Defined in PlutusCore.Error

Associated Types

type Rep (UniqueError ann) :: Type -> Type Source #

Methods

from :: UniqueError ann -> Rep (UniqueError ann) x Source #

to :: Rep (UniqueError ann) x -> UniqueError ann Source #

Generic (BuiltinCostModelBase f) 
Instance details

Defined in PlutusCore.Evaluation.Machine.BuiltinCostModel

Associated Types

type Rep (BuiltinCostModelBase f) :: Type -> Type Source #

Methods

from :: BuiltinCostModelBase f -> Rep (BuiltinCostModelBase f) x Source #

to :: Rep (BuiltinCostModelBase f) x -> BuiltinCostModelBase f Source #

Generic (CostingFun model) 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Associated Types

type Rep (CostingFun model) :: Type -> Type Source #

Methods

from :: CostingFun model -> Rep (CostingFun model) x Source #

to :: Rep (CostingFun model) x -> CostingFun model Source #

Generic (MachineError fun) 
Instance details

Defined in PlutusCore.Evaluation.Machine.Exception

Associated Types

type Rep (MachineError fun) :: Type -> Type Source #

Methods

from :: MachineError fun -> Rep (MachineError fun) x Source #

to :: Rep (MachineError fun) x -> MachineError fun Source #

Generic (EvaluationResult a) 
Instance details

Defined in PlutusCore.Evaluation.Result

Associated Types

type Rep (EvaluationResult a) :: Type -> Type Source #

Methods

from :: EvaluationResult a -> Rep (EvaluationResult a) x Source #

to :: Rep (EvaluationResult a) x -> EvaluationResult a Source #

Generic (CekMachineCostsBase f) 
Instance details

Defined in UntypedPlutusCore.Evaluation.Machine.Cek.CekMachineCosts

Associated Types

type Rep (CekMachineCostsBase f) :: Type -> Type Source #

Methods

from :: CekMachineCostsBase f -> Rep (CekMachineCostsBase f) x Source #

to :: Rep (CekMachineCostsBase f) x -> CekMachineCostsBase f Source #

Generic (CekExTally fun) 
Instance details

Defined in UntypedPlutusCore.Evaluation.Machine.Cek.ExBudgetMode

Associated Types

type Rep (CekExTally fun) :: Type -> Type Source #

Methods

from :: CekExTally fun -> Rep (CekExTally fun) x Source #

to :: Rep (CekExTally fun) x -> CekExTally fun Source #

Generic (TallyingSt fun) 
Instance details

Defined in UntypedPlutusCore.Evaluation.Machine.Cek.ExBudgetMode

Associated Types

type Rep (TallyingSt fun) :: Type -> Type Source #

Methods

from :: TallyingSt fun -> Rep (TallyingSt fun) x Source #

to :: Rep (TallyingSt fun) x -> TallyingSt fun Source #

Generic (ExBudgetCategory fun) 
Instance details

Defined in UntypedPlutusCore.Evaluation.Machine.Cek.Internal

Associated Types

type Rep (ExBudgetCategory fun) :: Type -> Type Source #

Methods

from :: ExBudgetCategory fun -> Rep (ExBudgetCategory fun) x Source #

to :: Rep (ExBudgetCategory fun) x -> ExBudgetCategory fun Source #

Generic (Provenance a) 
Instance details

Defined in PlutusIR.Compiler.Provenance

Associated Types

type Rep (Provenance a) :: Type -> Type Source #

Methods

from :: Provenance a -> Rep (Provenance a) x Source #

to :: Rep (Provenance a) x -> Provenance a Source #

Generic (Extended a) 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Associated Types

type Rep (Extended a) :: Type -> Type Source #

Methods

from :: Extended a -> Rep (Extended a) x Source #

to :: Rep (Extended a) x -> Extended a Source #

Generic (Interval a) 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Associated Types

type Rep (Interval a) :: Type -> Type Source #

Methods

from :: Interval a -> Rep (Interval a) x Source #

to :: Rep (Interval a) x -> Interval a Source #

Generic (LowerBound a) 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Associated Types

type Rep (LowerBound a) :: Type -> Type Source #

Methods

from :: LowerBound a -> Rep (LowerBound a) x Source #

to :: Rep (LowerBound a) x -> LowerBound a Source #

Generic (UpperBound a) 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Associated Types

type Rep (UpperBound a) :: Type -> Type Source #

Methods

from :: UpperBound a -> Rep (UpperBound a) x Source #

to :: Rep (UpperBound a) x -> UpperBound a Source #

Generic (ConstructorSchema referencedTypes) 
Instance details

Defined in PlutusTx.Blueprint.Schema

Associated Types

type Rep (ConstructorSchema referencedTypes) :: Type -> Type Source #

Methods

from :: ConstructorSchema referencedTypes -> Rep (ConstructorSchema referencedTypes) x Source #

to :: Rep (ConstructorSchema referencedTypes) x -> ConstructorSchema referencedTypes Source #

Generic (ListSchema referencedTypes) 
Instance details

Defined in PlutusTx.Blueprint.Schema

Associated Types

type Rep (ListSchema referencedTypes) :: Type -> Type Source #

Methods

from :: ListSchema referencedTypes -> Rep (ListSchema referencedTypes) x Source #

to :: Rep (ListSchema referencedTypes) x -> ListSchema referencedTypes Source #

Generic (MapSchema referencedTypes) 
Instance details

Defined in PlutusTx.Blueprint.Schema

Associated Types

type Rep (MapSchema referencedTypes) :: Type -> Type Source #

Methods

from :: MapSchema referencedTypes -> Rep (MapSchema referencedTypes) x Source #

to :: Rep (MapSchema referencedTypes) x -> MapSchema referencedTypes Source #

Generic (PairSchema referencedTypes) 
Instance details

Defined in PlutusTx.Blueprint.Schema

Associated Types

type Rep (PairSchema referencedTypes) :: Type -> Type Source #

Methods

from :: PairSchema referencedTypes -> Rep (PairSchema referencedTypes) x Source #

to :: Rep (PairSchema referencedTypes) x -> PairSchema referencedTypes Source #

Generic (Schema referencedTypes) 
Instance details

Defined in PlutusTx.Blueprint.Schema

Associated Types

type Rep (Schema referencedTypes) :: Type -> Type Source #

Methods

from :: Schema referencedTypes -> Rep (Schema referencedTypes) x Source #

to :: Rep (Schema referencedTypes) x -> Schema referencedTypes Source #

Generic (Doc a) 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Associated Types

type Rep (Doc a) :: Type -> Type Source #

Methods

from :: Doc a -> Rep (Doc a) x Source #

to :: Rep (Doc a) x -> Doc a Source #

Generic (Doc ann) 
Instance details

Defined in Prettyprinter.Internal

Associated Types

type Rep (Doc ann) :: Type -> Type Source #

Methods

from :: Doc ann -> Rep (Doc ann) x Source #

to :: Rep (Doc ann) x -> Doc ann Source #

Generic (SimpleDocStream ann) 
Instance details

Defined in Prettyprinter.Internal

Associated Types

type Rep (SimpleDocStream ann) :: Type -> Type Source #

Methods

from :: SimpleDocStream ann -> Rep (SimpleDocStream ann) x Source #

to :: Rep (SimpleDocStream ann) x -> SimpleDocStream ann Source #

Generic (I a) 
Instance details

Defined in Data.SOP.BasicFunctors

Associated Types

type Rep (I a) :: Type -> Type Source #

Methods

from :: I a -> Rep (I a) x Source #

to :: Rep (I a) x -> I a Source #

Generic (Maybe a) 
Instance details

Defined in Data.Strict.Maybe

Associated Types

type Rep (Maybe a) :: Type -> Type Source #

Methods

from :: Maybe a -> Rep (Maybe a) x Source #

to :: Rep (Maybe a) x -> Maybe a Source #

Generic (TyVarBndr flag) 
Instance details

Defined in Language.Haskell.TH.Syntax

Associated Types

type Rep (TyVarBndr flag) :: Type -> Type Source #

Methods

from :: TyVarBndr flag -> Rep (TyVarBndr flag) x Source #

to :: Rep (TyVarBndr flag) x -> TyVarBndr flag Source #

Generic (Window a) 
Instance details

Defined in System.Console.Terminal.Common

Associated Types

type Rep (Window a) :: Type -> Type Source #

Methods

from :: Window a -> Rep (Window a) x Source #

to :: Rep (Window a) x -> Window a Source #

Generic (Doc a) 
Instance details

Defined in Text.PrettyPrint.Annotated.WL

Associated Types

type Rep (Doc a) :: Type -> Type Source #

Methods

from :: Doc a -> Rep (Doc a) x Source #

to :: Rep (Doc a) x -> Doc a Source #

Generic (SimpleDoc a) 
Instance details

Defined in Text.PrettyPrint.Annotated.WL

Associated Types

type Rep (SimpleDoc a) :: Type -> Type Source #

Methods

from :: SimpleDoc a -> Rep (SimpleDoc a) x Source #

to :: Rep (SimpleDoc a) x -> SimpleDoc a Source #

Generic (Maybe a) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (Maybe a) :: Type -> Type Source #

Methods

from :: Maybe a -> Rep (Maybe a) x Source #

to :: Rep (Maybe a) x -> Maybe a Source #

Generic (a) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (a) :: Type -> Type Source #

Methods

from :: (a) -> Rep (a) x Source #

to :: Rep (a) x -> (a) Source #

Generic [a] 
Instance details

Defined in GHC.Generics

Associated Types

type Rep [a] :: Type -> Type Source #

Methods

from :: [a] -> Rep [a] x Source #

to :: Rep [a] x -> [a] Source #

Generic (Graph e a) 
Instance details

Defined in Algebra.Graph.Labelled

Associated Types

type Rep (Graph e a) :: Type -> Type Source #

Methods

from :: Graph e a -> Rep (Graph e a) x Source #

to :: Rep (Graph e a) x -> Graph e a Source #

Generic (AdjacencyMap e a) 
Instance details

Defined in Algebra.Graph.Labelled.AdjacencyMap

Associated Types

type Rep (AdjacencyMap e a) :: Type -> Type Source #

Methods

from :: AdjacencyMap e a -> Rep (AdjacencyMap e a) x Source #

to :: Rep (AdjacencyMap e a) x -> AdjacencyMap e a Source #

Generic (Container b a) 
Instance details

Defined in Barbies.Internal.Containers

Associated Types

type Rep (Container b a) :: Type -> Type Source #

Methods

from :: Container b a -> Rep (Container b a) x Source #

to :: Rep (Container b a) x -> Container b a Source #

Generic (ErrorContainer b e) 
Instance details

Defined in Barbies.Internal.Containers

Associated Types

type Rep (ErrorContainer b e) :: Type -> Type Source #

Methods

from :: ErrorContainer b e -> Rep (ErrorContainer b e) x Source #

to :: Rep (ErrorContainer b e) x -> ErrorContainer b e Source #

Generic (Unit f) 
Instance details

Defined in Barbies.Internal.Trivial

Associated Types

type Rep (Unit f) :: Type -> Type Source #

Methods

from :: Unit f -> Rep (Unit f) x Source #

to :: Rep (Unit f) x -> Unit f Source #

Generic (Void f) 
Instance details

Defined in Barbies.Internal.Trivial

Associated Types

type Rep (Void f) :: Type -> Type Source #

Methods

from :: Void f -> Rep (Void f) x Source #

to :: Rep (Void f) x -> Void f Source #

Generic (WrappedMonad m a) 
Instance details

Defined in Control.Applicative

Associated Types

type Rep (WrappedMonad m a) :: Type -> Type Source #

Methods

from :: WrappedMonad m a -> Rep (WrappedMonad m a) x Source #

to :: Rep (WrappedMonad m a) x -> WrappedMonad m a Source #

Generic (Either a b) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (Either a b) :: Type -> Type Source #

Methods

from :: Either a b -> Rep (Either a b) x Source #

to :: Rep (Either a b) x -> Either a b Source #

Generic (Proxy t) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (Proxy t) :: Type -> Type Source #

Methods

from :: Proxy t -> Rep (Proxy t) x Source #

to :: Rep (Proxy t) x -> Proxy t Source #

Generic (Arg a b) 
Instance details

Defined in Data.Semigroup

Associated Types

type Rep (Arg a b) :: Type -> Type Source #

Methods

from :: Arg a b -> Rep (Arg a b) x Source #

to :: Rep (Arg a b) x -> Arg a b Source #

Generic (U1 p) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (U1 p) :: Type -> Type Source #

Methods

from :: U1 p -> Rep (U1 p) x Source #

to :: Rep (U1 p) x -> U1 p Source #

Generic (V1 p) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (V1 p) :: Type -> Type Source #

Methods

from :: V1 p -> Rep (V1 p) x Source #

to :: Rep (V1 p) x -> V1 p Source #

Generic (Bimap a b) 
Instance details

Defined in Data.Bimap

Associated Types

type Rep (Bimap a b) :: Type -> Type Source #

Methods

from :: Bimap a b -> Rep (Bimap a b) x Source #

to :: Rep (Bimap a b) x -> Bimap a b Source #

Generic (SignedDSIGN v a) 
Instance details

Defined in Cardano.Crypto.DSIGN.Class

Associated Types

type Rep (SignedDSIGN v a) :: Type -> Type Source #

Methods

from :: SignedDSIGN v a -> Rep (SignedDSIGN v a) x Source #

to :: Rep (SignedDSIGN v a) x -> SignedDSIGN v a Source #

Generic (Hash h a) 
Instance details

Defined in Cardano.Crypto.Hash.Class

Associated Types

type Rep (Hash h a) :: Type -> Type Source #

Methods

from :: Hash h a -> Rep (Hash h a) x Source #

to :: Rep (Hash h a) x -> Hash h a Source #

Generic (Cofree f a) 
Instance details

Defined in Control.Comonad.Cofree

Associated Types

type Rep (Cofree f a) :: Type -> Type Source #

Methods

from :: Cofree f a -> Rep (Cofree f a) x Source #

to :: Rep (Cofree f a) x -> Cofree f a Source #

Generic (Free f a) 
Instance details

Defined in Control.Monad.Free

Associated Types

type Rep (Free f a) :: Type -> Type Source #

Methods

from :: Free f a -> Rep (Free f a) x Source #

to :: Rep (Free f a) x -> Free f a Source #

Generic (ListT m a) 
Instance details

Defined in ListT

Associated Types

type Rep (ListT m a) :: Type -> Type Source #

Methods

from :: ListT m a -> Rep (ListT m a) x Source #

to :: Rep (ListT m a) x -> ListT m a Source #

Generic (ParseError s e) 
Instance details

Defined in Text.Megaparsec.Error

Associated Types

type Rep (ParseError s e) :: Type -> Type Source #

Methods

from :: ParseError s e -> Rep (ParseError s e) x Source #

to :: Rep (ParseError s e) x -> ParseError s e Source #

Generic (ParseErrorBundle s e) 
Instance details

Defined in Text.Megaparsec.Error

Associated Types

type Rep (ParseErrorBundle s e) :: Type -> Type Source #

Methods

from :: ParseErrorBundle s e -> Rep (ParseErrorBundle s e) x Source #

to :: Rep (ParseErrorBundle s e) x -> ParseErrorBundle s e Source #

Generic (State s e) 
Instance details

Defined in Text.Megaparsec.State

Associated Types

type Rep (State s e) :: Type -> Type Source #

Methods

from :: State s e -> Rep (State s e) x Source #

to :: Rep (State s e) x -> State s e Source #

Generic (PDataNewtype a s) Source # 
Instance details

Defined in Plutarch.Builtin

Associated Types

type Rep (PDataNewtype a s) :: Type -> Type Source #

Methods

from :: PDataNewtype a s -> Rep (PDataNewtype a s) x Source #

to :: Rep (PDataNewtype a s) x -> PDataNewtype a s Source #

Generic (PTxList a s) Source # 
Instance details

Defined in Plutarch.FFI

Associated Types

type Rep (PTxList a s) :: Type -> Type Source #

Methods

from :: PTxList a s -> Rep (PTxList a s) x Source #

to :: Rep (PTxList a s) x -> PTxList a s Source #

Generic (PTxMaybe a s) Source # 
Instance details

Defined in Plutarch.FFI

Associated Types

type Rep (PTxMaybe a s) :: Type -> Type Source #

Methods

from :: PTxMaybe a s -> Rep (PTxMaybe a s) x Source #

to :: Rep (PTxMaybe a s) x -> PTxMaybe a s Source #

Generic (PList a s) Source # 
Instance details

Defined in Plutarch.List

Associated Types

type Rep (PList a s) :: Type -> Type Source #

Methods

from :: PList a s -> Rep (PList a s) x Source #

to :: Rep (PList a s) x -> PList a s Source #

Generic (PMaybe a s) Source # 
Instance details

Defined in Plutarch.Maybe

Associated Types

type Rep (PMaybe a s) :: Type -> Type Source #

Methods

from :: PMaybe a s -> Rep (PMaybe a s) x Source #

to :: Rep (PMaybe a s) x -> PMaybe a s Source #

Generic (TyVarDecl tyname ann) 
Instance details

Defined in PlutusCore.Core.Type

Associated Types

type Rep (TyVarDecl tyname ann) :: Type -> Type Source #

Methods

from :: TyVarDecl tyname ann -> Rep (TyVarDecl tyname ann) x Source #

to :: Rep (TyVarDecl tyname ann) x -> TyVarDecl tyname ann Source #

Generic (EvaluationError structural operational) 
Instance details

Defined in PlutusCore.Evaluation.Error

Associated Types

type Rep (EvaluationError structural operational) :: Type -> Type Source #

Methods

from :: EvaluationError structural operational -> Rep (EvaluationError structural operational) x Source #

to :: Rep (EvaluationError structural operational) x -> EvaluationError structural operational Source #

Generic (ErrorWithCause err cause) 
Instance details

Defined in PlutusCore.Evaluation.ErrorWithCause

Associated Types

type Rep (ErrorWithCause err cause) :: Type -> Type Source #

Methods

from :: ErrorWithCause err cause -> Rep (ErrorWithCause err cause) x Source #

to :: Rep (ErrorWithCause err cause) x -> ErrorWithCause err cause Source #

Generic (Def var val) 
Instance details

Defined in PlutusCore.MkPlc

Associated Types

type Rep (Def var val) :: Type -> Type Source #

Methods

from :: Def var val -> Rep (Def var val) x Source #

to :: Rep (Def var val) x -> Def var val Source #

Generic (UVarDecl name ann) 
Instance details

Defined in UntypedPlutusCore.Core.Type

Associated Types

type Rep (UVarDecl name ann) :: Type -> Type Source #

Methods

from :: UVarDecl name ann -> Rep (UVarDecl name ann) x Source #

to :: Rep (UVarDecl name ann) x -> UVarDecl name ann Source #

Generic (TypeErrorExt uni ann) 
Instance details

Defined in PlutusIR.Error

Associated Types

type Rep (TypeErrorExt uni ann) :: Type -> Type Source #

Methods

from :: TypeErrorExt uni ann -> Rep (TypeErrorExt uni ann) x Source #

to :: Rep (TypeErrorExt uni ann) x -> TypeErrorExt uni ann Source #

Generic (Map k v) 
Instance details

Defined in PlutusTx.AssocMap

Associated Types

type Rep (Map k v) :: Type -> Type Source #

Methods

from :: Map k v -> Rep (Map k v) x Source #

to :: Rep (Map k v) x -> Map k v Source #

Generic (These a b) 
Instance details

Defined in PlutusTx.These

Associated Types

type Rep (These a b) :: Type -> Type Source #

Methods

from :: These a b -> Rep (These a b) x Source #

to :: Rep (These a b) x -> These a b Source #

Generic (ListF a b) 
Instance details

Defined in Data.Functor.Base

Associated Types

type Rep (ListF a b) :: Type -> Type Source #

Methods

from :: ListF a b -> Rep (ListF a b) x Source #

to :: Rep (ListF a b) x -> ListF a b Source #

Generic (NonEmptyF a b) 
Instance details

Defined in Data.Functor.Base

Associated Types

type Rep (NonEmptyF a b) :: Type -> Type Source #

Methods

from :: NonEmptyF a b -> Rep (NonEmptyF a b) x Source #

to :: Rep (NonEmptyF a b) x -> NonEmptyF a b Source #

Generic (TreeF a b) 
Instance details

Defined in Data.Functor.Base

Associated Types

type Rep (TreeF a b) :: Type -> Type Source #

Methods

from :: TreeF a b -> Rep (TreeF a b) x Source #

to :: Rep (TreeF a b) x -> TreeF a b Source #

Generic (Either a b) 
Instance details

Defined in Data.Strict.Either

Associated Types

type Rep (Either a b) :: Type -> Type Source #

Methods

from :: Either a b -> Rep (Either a b) x Source #

to :: Rep (Either a b) x -> Either a b Source #

Generic (These a b) 
Instance details

Defined in Data.Strict.These

Associated Types

type Rep (These a b) :: Type -> Type Source #

Methods

from :: These a b -> Rep (These a b) x Source #

to :: Rep (These a b) x -> These a b Source #

Generic (Pair a b) 
Instance details

Defined in Data.Strict.Tuple

Associated Types

type Rep (Pair a b) :: Type -> Type Source #

Methods

from :: Pair a b -> Rep (Pair a b) x Source #

to :: Rep (Pair a b) x -> Pair a b Source #

Generic (These a b) 
Instance details

Defined in Data.These

Associated Types

type Rep (These a b) :: Type -> Type Source #

Methods

from :: These a b -> Rep (These a b) x Source #

to :: Rep (These a b) x -> These a b Source #

Generic (Lift f a) 
Instance details

Defined in Control.Applicative.Lift

Associated Types

type Rep (Lift f a) :: Type -> Type Source #

Methods

from :: Lift f a -> Rep (Lift f a) x Source #

to :: Rep (Lift f a) x -> Lift f a Source #

Generic (MaybeT m a) 
Instance details

Defined in Control.Monad.Trans.Maybe

Associated Types

type Rep (MaybeT m a) :: Type -> Type Source #

Methods

from :: MaybeT m a -> Rep (MaybeT m a) x Source #

to :: Rep (MaybeT m a) x -> MaybeT m a Source #

Generic (a, b) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (a, b) :: Type -> Type Source #

Methods

from :: (a, b) -> Rep (a, b) x Source #

to :: Rep (a, b) x -> (a, b) Source #

Generic (WrappedArrow a b c) 
Instance details

Defined in Control.Applicative

Associated Types

type Rep (WrappedArrow a b c) :: Type -> Type Source #

Methods

from :: WrappedArrow a b c -> Rep (WrappedArrow a b c) x Source #

to :: Rep (WrappedArrow a b c) x -> WrappedArrow a b c Source #

Generic (Kleisli m a b) 
Instance details

Defined in Control.Arrow

Associated Types

type Rep (Kleisli m a b) :: Type -> Type Source #

Methods

from :: Kleisli m a b -> Rep (Kleisli m a b) x Source #

to :: Rep (Kleisli m a b) x -> Kleisli m a b Source #

Generic (Const a b) 
Instance details

Defined in Data.Functor.Const

Associated Types

type Rep (Const a b) :: Type -> Type Source #

Methods

from :: Const a b -> Rep (Const a b) x Source #

to :: Rep (Const a b) x -> Const a b Source #

Generic (Ap f a) 
Instance details

Defined in Data.Monoid

Associated Types

type Rep (Ap f a) :: Type -> Type Source #

Methods

from :: Ap f a -> Rep (Ap f a) x Source #

to :: Rep (Ap f a) x -> Ap f a Source #

Generic (Alt f a) 
Instance details

Defined in Data.Semigroup.Internal

Associated Types

type Rep (Alt f a) :: Type -> Type Source #

Methods

from :: Alt f a -> Rep (Alt f a) x Source #

to :: Rep (Alt f a) x -> Alt f a Source #

Generic (Rec1 f p) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (Rec1 f p) :: Type -> Type Source #

Methods

from :: Rec1 f p -> Rep (Rec1 f p) x Source #

to :: Rep (Rec1 f p) x -> Rec1 f p Source #

Generic (URec (Ptr ()) p) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (URec (Ptr ()) p) :: Type -> Type Source #

Methods

from :: URec (Ptr ()) p -> Rep (URec (Ptr ()) p) x Source #

to :: Rep (URec (Ptr ()) p) x -> URec (Ptr ()) p Source #

Generic (URec Char p) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (URec Char p) :: Type -> Type Source #

Methods

from :: URec Char p -> Rep (URec Char p) x Source #

to :: Rep (URec Char p) x -> URec Char p Source #

Generic (URec Double p) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (URec Double p) :: Type -> Type Source #

Methods

from :: URec Double p -> Rep (URec Double p) x Source #

to :: Rep (URec Double p) x -> URec Double p Source #

Generic (URec Float p) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (URec Float p) :: Type -> Type Source #

Methods

from :: URec Float p -> Rep (URec Float p) x Source #

to :: Rep (URec Float p) x -> URec Float p Source #

Generic (URec Int p) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (URec Int p) :: Type -> Type Source #

Methods

from :: URec Int p -> Rep (URec Int p) x Source #

to :: Rep (URec Int p) x -> URec Int p Source #

Generic (URec Word p) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (URec Word p) :: Type -> Type Source #

Methods

from :: URec Word p -> Rep (URec Word p) x Source #

to :: Rep (URec Word p) x -> URec Word p Source #

Generic (Fix p a) 
Instance details

Defined in Data.Bifunctor.Fix

Associated Types

type Rep (Fix p a) :: Type -> Type Source #

Methods

from :: Fix p a -> Rep (Fix p a) x Source #

to :: Rep (Fix p a) x -> Fix p a Source #

Generic (Join p a) 
Instance details

Defined in Data.Bifunctor.Join

Associated Types

type Rep (Join p a) :: Type -> Type Source #

Methods

from :: Join p a -> Rep (Join p a) x Source #

to :: Rep (Join p a) x -> Join p a Source #

Generic (CofreeF f a b) 
Instance details

Defined in Control.Comonad.Trans.Cofree

Associated Types

type Rep (CofreeF f a b) :: Type -> Type Source #

Methods

from :: CofreeF f a b -> Rep (CofreeF f a b) x Source #

to :: Rep (CofreeF f a b) x -> CofreeF f a b Source #

Generic (FreeF f a b) 
Instance details

Defined in Control.Monad.Trans.Free

Associated Types

type Rep (FreeF f a b) :: Type -> Type Source #

Methods

from :: FreeF f a b -> Rep (FreeF f a b) x Source #

to :: Rep (FreeF f a b) x -> FreeF f a b Source #

Generic (PEither a b s) Source # 
Instance details

Defined in Plutarch.Either

Associated Types

type Rep (PEither a b s) :: Type -> Type Source #

Methods

from :: PEither a b s -> Rep (PEither a b s) x Source #

to :: Rep (PEither a b s) x -> PEither a b s Source #

Generic (PEitherData a b s) Source # 
Instance details

Defined in Plutarch.Either

Associated Types

type Rep (PEitherData a b s) :: Type -> Type Source #

Methods

from :: PEitherData a b s -> Rep (PEitherData a b s) x Source #

to :: Rep (PEitherData a b s) x -> PEitherData a b s Source #

Generic (DeriveBuiltinPLiftable a h s) Source # 
Instance details

Defined in Plutarch.Internal.Lift

Associated Types

type Rep (DeriveBuiltinPLiftable a h s) :: Type -> Type Source #

Generic (DeriveDataPLiftable a h s) Source # 
Instance details

Defined in Plutarch.Internal.Lift

Associated Types

type Rep (DeriveDataPLiftable a h s) :: Type -> Type Source #

Generic (PPair a b s) Source # 
Instance details

Defined in Plutarch.Pair

Associated Types

type Rep (PPair a b s) :: Type -> Type Source #

Methods

from :: PPair a b s -> Rep (PPair a b s) x Source #

to :: Rep (PPair a b s) x -> PPair a b s Source #

Generic (TyDecl tyname uni ann) 
Instance details

Defined in PlutusCore.Core.Type

Associated Types

type Rep (TyDecl tyname uni ann) :: Type -> Type Source #

Methods

from :: TyDecl tyname uni ann -> Rep (TyDecl tyname uni ann) x Source #

to :: Rep (TyDecl tyname uni ann) x -> TyDecl tyname uni ann Source #

Generic (Type tyname uni ann) 
Instance details

Defined in PlutusCore.Core.Type

Associated Types

type Rep (Type tyname uni ann) :: Type -> Type Source #

Methods

from :: Type tyname uni ann -> Rep (Type tyname uni ann) x Source #

to :: Rep (Type tyname uni ann) x -> Type tyname uni ann Source #

Generic (Error uni fun ann) 
Instance details

Defined in PlutusCore.Error

Associated Types

type Rep (Error uni fun ann) :: Type -> Type Source #

Methods

from :: Error uni fun ann -> Rep (Error uni fun ann) x Source #

to :: Rep (Error uni fun ann) x -> Error uni fun ann Source #

Generic (MachineParameters machinecosts fun val) 
Instance details

Defined in PlutusCore.Evaluation.Machine.MachineParameters

Associated Types

type Rep (MachineParameters machinecosts fun val) :: Type -> Type Source #

Methods

from :: MachineParameters machinecosts fun val -> Rep (MachineParameters machinecosts fun val) x Source #

to :: Rep (MachineParameters machinecosts fun val) x -> MachineParameters machinecosts fun val Source #

Generic (K a b) 
Instance details

Defined in Data.SOP.BasicFunctors

Associated Types

type Rep (K a b) :: Type -> Type Source #

Methods

from :: K a b -> Rep (K a b) x Source #

to :: Rep (K a b) x -> K a b Source #

Generic (Tagged s b) 
Instance details

Defined in Data.Tagged

Associated Types

type Rep (Tagged s b) :: Type -> Type Source #

Methods

from :: Tagged s b -> Rep (Tagged s b) x Source #

to :: Rep (Tagged s b) x -> Tagged s b Source #

Generic (These1 f g a) 
Instance details

Defined in Data.Functor.These

Associated Types

type Rep (These1 f g a) :: Type -> Type Source #

Methods

from :: These1 f g a -> Rep (These1 f g a) x Source #

to :: Rep (These1 f g a) x -> These1 f g a Source #

Generic (Backwards f a) 
Instance details

Defined in Control.Applicative.Backwards

Associated Types

type Rep (Backwards f a) :: Type -> Type Source #

Methods

from :: Backwards f a -> Rep (Backwards f a) x Source #

to :: Rep (Backwards f a) x -> Backwards f a Source #

Generic (AccumT w m a) 
Instance details

Defined in Control.Monad.Trans.Accum

Associated Types

type Rep (AccumT w m a) :: Type -> Type Source #

Methods

from :: AccumT w m a -> Rep (AccumT w m a) x Source #

to :: Rep (AccumT w m a) x -> AccumT w m a Source #

Generic (ExceptT e m a) 
Instance details

Defined in Control.Monad.Trans.Except

Associated Types

type Rep (ExceptT e m a) :: Type -> Type Source #

Methods

from :: ExceptT e m a -> Rep (ExceptT e m a) x Source #

to :: Rep (ExceptT e m a) x -> ExceptT e m a Source #

Generic (IdentityT f a) 
Instance details

Defined in Control.Monad.Trans.Identity

Associated Types

type Rep (IdentityT f a) :: Type -> Type Source #

Methods

from :: IdentityT f a -> Rep (IdentityT f a) x Source #

to :: Rep (IdentityT f a) x -> IdentityT f a Source #

Generic (ReaderT r m a) 
Instance details

Defined in Control.Monad.Trans.Reader

Associated Types

type Rep (ReaderT r m a) :: Type -> Type Source #

Methods

from :: ReaderT r m a -> Rep (ReaderT r m a) x Source #

to :: Rep (ReaderT r m a) x -> ReaderT r m a Source #

Generic (SelectT r m a) 
Instance details

Defined in Control.Monad.Trans.Select

Associated Types

type Rep (SelectT r m a) :: Type -> Type Source #

Methods

from :: SelectT r m a -> Rep (SelectT r m a) x Source #

to :: Rep (SelectT r m a) x -> SelectT r m a Source #

Generic (StateT s m a) 
Instance details

Defined in Control.Monad.Trans.State.Lazy

Associated Types

type Rep (StateT s m a) :: Type -> Type Source #

Methods

from :: StateT s m a -> Rep (StateT s m a) x Source #

to :: Rep (StateT s m a) x -> StateT s m a Source #

Generic (StateT s m a) 
Instance details

Defined in Control.Monad.Trans.State.Strict

Associated Types

type Rep (StateT s m a) :: Type -> Type Source #

Methods

from :: StateT s m a -> Rep (StateT s m a) x Source #

to :: Rep (StateT s m a) x -> StateT s m a Source #

Generic (WriterT w m a) 
Instance details

Defined in Control.Monad.Trans.Writer.CPS

Associated Types

type Rep (WriterT w m a) :: Type -> Type Source #

Methods

from :: WriterT w m a -> Rep (WriterT w m a) x Source #

to :: Rep (WriterT w m a) x -> WriterT w m a Source #

Generic (WriterT w m a) 
Instance details

Defined in Control.Monad.Trans.Writer.Lazy

Associated Types

type Rep (WriterT w m a) :: Type -> Type Source #

Methods

from :: WriterT w m a -> Rep (WriterT w m a) x Source #

to :: Rep (WriterT w m a) x -> WriterT w m a Source #

Generic (WriterT w m a) 
Instance details

Defined in Control.Monad.Trans.Writer.Strict

Associated Types

type Rep (WriterT w m a) :: Type -> Type Source #

Methods

from :: WriterT w m a -> Rep (WriterT w m a) x Source #

to :: Rep (WriterT w m a) x -> WriterT w m a Source #

Generic (Constant a b) 
Instance details

Defined in Data.Functor.Constant

Associated Types

type Rep (Constant a b) :: Type -> Type Source #

Methods

from :: Constant a b -> Rep (Constant a b) x Source #

to :: Rep (Constant a b) x -> Constant a b Source #

Generic (Reverse f a) 
Instance details

Defined in Data.Functor.Reverse

Associated Types

type Rep (Reverse f a) :: Type -> Type Source #

Methods

from :: Reverse f a -> Rep (Reverse f a) x Source #

to :: Rep (Reverse f a) x -> Reverse f a Source #

Generic (a, b, c) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (a, b, c) :: Type -> Type Source #

Methods

from :: (a, b, c) -> Rep (a, b, c) x Source #

to :: Rep (a, b, c) x -> (a, b, c) Source #

Generic (Product f g a) 
Instance details

Defined in Data.Functor.Product

Associated Types

type Rep (Product f g a) :: Type -> Type Source #

Methods

from :: Product f g a -> Rep (Product f g a) x Source #

to :: Rep (Product f g a) x -> Product f g a Source #

Generic (Sum f g a) 
Instance details

Defined in Data.Functor.Sum

Associated Types

type Rep (Sum f g a) :: Type -> Type Source #

Methods

from :: Sum f g a -> Rep (Sum f g a) x Source #

to :: Rep (Sum f g a) x -> Sum f g a Source #

Generic ((f :*: g) p) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep ((f :*: g) p) :: Type -> Type Source #

Methods

from :: (f :*: g) p -> Rep ((f :*: g) p) x Source #

to :: Rep ((f :*: g) p) x -> (f :*: g) p Source #

Generic ((f :+: g) p) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep ((f :+: g) p) :: Type -> Type Source #

Methods

from :: (f :+: g) p -> Rep ((f :+: g) p) x Source #

to :: Rep ((f :+: g) p) x -> (f :+: g) p Source #

Generic (K1 i c p) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (K1 i c p) :: Type -> Type Source #

Methods

from :: K1 i c p -> Rep (K1 i c p) x Source #

to :: Rep (K1 i c p) x -> K1 i c p Source #

Generic (DeriveNewtypePLiftable wrapper inner h s) Source # 
Instance details

Defined in Plutarch.Internal.Lift

Associated Types

type Rep (DeriveNewtypePLiftable wrapper inner h s) :: Type -> Type Source #

Methods

from :: DeriveNewtypePLiftable wrapper inner h s -> Rep (DeriveNewtypePLiftable wrapper inner h s) x Source #

to :: Rep (DeriveNewtypePLiftable wrapper inner h s) x -> DeriveNewtypePLiftable wrapper inner h s Source #

Generic (VarDecl tyname name uni ann) 
Instance details

Defined in PlutusCore.Core.Type

Associated Types

type Rep (VarDecl tyname name uni ann) :: Type -> Type Source #

Methods

from :: VarDecl tyname name uni ann -> Rep (VarDecl tyname name uni ann) x Source #

to :: Rep (VarDecl tyname name uni ann) x -> VarDecl tyname name uni ann Source #

Generic (TypeError term uni fun ann) 
Instance details

Defined in PlutusCore.Error

Associated Types

type Rep (TypeError term uni fun ann) :: Type -> Type Source #

Methods

from :: TypeError term uni fun ann -> Rep (TypeError term uni fun ann) x Source #

to :: Rep (TypeError term uni fun ann) x -> TypeError term uni fun ann Source #

Generic (Program name uni fun ann) 
Instance details

Defined in UntypedPlutusCore.Core.Type

Associated Types

type Rep (Program name uni fun ann) :: Type -> Type Source #

Methods

from :: Program name uni fun ann -> Rep (Program name uni fun ann) x Source #

to :: Rep (Program name uni fun ann) x -> Program name uni fun ann Source #

Generic (Term name uni fun ann) 
Instance details

Defined in UntypedPlutusCore.Core.Type

Associated Types

type Rep (Term name uni fun ann) :: Type -> Type Source #

Methods

from :: Term name uni fun ann -> Rep (Term name uni fun ann) x Source #

to :: Rep (Term name uni fun ann) x -> Term name uni fun ann Source #

Generic (Subst name uni fun a) 
Instance details

Defined in UntypedPlutusCore.Transform.Inline

Associated Types

type Rep (Subst name uni fun a) :: Type -> Type Source #

Methods

from :: Subst name uni fun a -> Rep (Subst name uni fun a) x Source #

to :: Rep (Subst name uni fun a) x -> Subst name uni fun a Source #

Generic (Datatype tyname name uni a) 
Instance details

Defined in PlutusIR.Core.Type

Associated Types

type Rep (Datatype tyname name uni a) :: Type -> Type Source #

Methods

from :: Datatype tyname name uni a -> Rep (Datatype tyname name uni a) x Source #

to :: Rep (Datatype tyname name uni a) x -> Datatype tyname name uni a Source #

Generic (ContT r m a) 
Instance details

Defined in Control.Monad.Trans.Cont

Associated Types

type Rep (ContT r m a) :: Type -> Type Source #

Methods

from :: ContT r m a -> Rep (ContT r m a) x Source #

to :: Rep (ContT r m a) x -> ContT r m a Source #

Generic (a, b, c, d) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (a, b, c, d) :: Type -> Type Source #

Methods

from :: (a, b, c, d) -> Rep (a, b, c, d) x Source #

to :: Rep (a, b, c, d) x -> (a, b, c, d) Source #

Generic (Compose f g a) 
Instance details

Defined in Data.Functor.Compose

Associated Types

type Rep (Compose f g a) :: Type -> Type Source #

Methods

from :: Compose f g a -> Rep (Compose f g a) x Source #

to :: Rep (Compose f g a) x -> Compose f g a Source #

Generic ((f :.: g) p) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep ((f :.: g) p) :: Type -> Type Source #

Methods

from :: (f :.: g) p -> Rep ((f :.: g) p) x Source #

to :: Rep ((f :.: g) p) x -> (f :.: g) p Source #

Generic (M1 i c f p) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (M1 i c f p) :: Type -> Type Source #

Methods

from :: M1 i c f p -> Rep (M1 i c f p) x Source #

to :: Rep (M1 i c f p) x -> M1 i c f p Source #

Generic (Clown f a b) 
Instance details

Defined in Data.Bifunctor.Clown

Associated Types

type Rep (Clown f a b) :: Type -> Type Source #

Methods

from :: Clown f a b -> Rep (Clown f a b) x Source #

to :: Rep (Clown f a b) x -> Clown f a b Source #

Generic (Flip p a b) 
Instance details

Defined in Data.Bifunctor.Flip

Associated Types

type Rep (Flip p a b) :: Type -> Type Source #

Methods

from :: Flip p a b -> Rep (Flip p a b) x Source #

to :: Rep (Flip p a b) x -> Flip p a b Source #

Generic (Joker g a b) 
Instance details

Defined in Data.Bifunctor.Joker

Associated Types

type Rep (Joker g a b) :: Type -> Type Source #

Methods

from :: Joker g a b -> Rep (Joker g a b) x Source #

to :: Rep (Joker g a b) x -> Joker g a b Source #

Generic (WrappedBifunctor p a b) 
Instance details

Defined in Data.Bifunctor.Wrapped

Associated Types

type Rep (WrappedBifunctor p a b) :: Type -> Type Source #

Methods

from :: WrappedBifunctor p a b -> Rep (WrappedBifunctor p a b) x Source #

to :: Rep (WrappedBifunctor p a b) x -> WrappedBifunctor p a b Source #

Generic (Program tyname name uni fun ann) 
Instance details

Defined in PlutusCore.Core.Type

Associated Types

type Rep (Program tyname name uni fun ann) :: Type -> Type Source #

Methods

from :: Program tyname name uni fun ann -> Rep (Program tyname name uni fun ann) x Source #

to :: Rep (Program tyname name uni fun ann) x -> Program tyname name uni fun ann Source #

Generic (Term tyname name uni fun ann) 
Instance details

Defined in PlutusCore.Core.Type

Associated Types

type Rep (Term tyname name uni fun ann) :: Type -> Type Source #

Methods

from :: Term tyname name uni fun ann -> Rep (Term tyname name uni fun ann) x Source #

to :: Rep (Term tyname name uni fun ann) x -> Term tyname name uni fun ann Source #

Generic (NormCheckError tyname name uni fun ann) 
Instance details

Defined in PlutusCore.Error

Associated Types

type Rep (NormCheckError tyname name uni fun ann) :: Type -> Type Source #

Methods

from :: NormCheckError tyname name uni fun ann -> Rep (NormCheckError tyname name uni fun ann) x Source #

to :: Rep (NormCheckError tyname name uni fun ann) x -> NormCheckError tyname name uni fun ann Source #

Generic (Binding tyname name uni fun a) 
Instance details

Defined in PlutusIR.Core.Type

Associated Types

type Rep (Binding tyname name uni fun a) :: Type -> Type Source #

Methods

from :: Binding tyname name uni fun a -> Rep (Binding tyname name uni fun a) x Source #

to :: Rep (Binding tyname name uni fun a) x -> Binding tyname name uni fun a Source #

Generic (Program tyname name uni fun ann) 
Instance details

Defined in PlutusIR.Core.Type

Associated Types

type Rep (Program tyname name uni fun ann) :: Type -> Type Source #

Methods

from :: Program tyname name uni fun ann -> Rep (Program tyname name uni fun ann) x Source #

to :: Rep (Program tyname name uni fun ann) x -> Program tyname name uni fun ann Source #

Generic (Term tyname name uni fun a) 
Instance details

Defined in PlutusIR.Core.Type

Associated Types

type Rep (Term tyname name uni fun a) :: Type -> Type Source #

Methods

from :: Term tyname name uni fun a -> Rep (Term tyname name uni fun a) x Source #

to :: Rep (Term tyname name uni fun a) x -> Term tyname name uni fun a Source #

Generic (InlinerState tyname name uni fun ann) 
Instance details

Defined in PlutusIR.Transform.Inline.Utils

Associated Types

type Rep (InlinerState tyname name uni fun ann) :: Type -> Type Source #

Methods

from :: InlinerState tyname name uni fun ann -> Rep (InlinerState tyname name uni fun ann) x Source #

to :: Rep (InlinerState tyname name uni fun ann) x -> InlinerState tyname name uni fun ann Source #

Generic (BindingGrp tyname name uni fun a) 
Instance details

Defined in PlutusIR.Transform.LetFloatOut

Associated Types

type Rep (BindingGrp tyname name uni fun a) :: Type -> Type Source #

Methods

from :: BindingGrp tyname name uni fun a -> Rep (BindingGrp tyname name uni fun a) x Source #

to :: Rep (BindingGrp tyname name uni fun a) x -> BindingGrp tyname name uni fun a Source #

Generic ((f :.: g) p) 
Instance details

Defined in Data.SOP.BasicFunctors

Associated Types

type Rep ((f :.: g) p) :: Type -> Type Source #

Methods

from :: (f :.: g) p -> Rep ((f :.: g) p) x Source #

to :: Rep ((f :.: g) p) x -> (f :.: g) p Source #

Generic (RWST r w s m a) 
Instance details

Defined in Control.Monad.Trans.RWS.CPS

Associated Types

type Rep (RWST r w s m a) :: Type -> Type Source #

Methods

from :: RWST r w s m a -> Rep (RWST r w s m a) x Source #

to :: Rep (RWST r w s m a) x -> RWST r w s m a Source #

Generic (RWST r w s m a) 
Instance details

Defined in Control.Monad.Trans.RWS.Lazy

Associated Types

type Rep (RWST r w s m a) :: Type -> Type Source #

Methods

from :: RWST r w s m a -> Rep (RWST r w s m a) x Source #

to :: Rep (RWST r w s m a) x -> RWST r w s m a Source #

Generic (RWST r w s m a) 
Instance details

Defined in Control.Monad.Trans.RWS.Strict

Associated Types

type Rep (RWST r w s m a) :: Type -> Type Source #

Methods

from :: RWST r w s m a -> Rep (RWST r w s m a) x Source #

to :: Rep (RWST r w s m a) x -> RWST r w s m a Source #

Generic (a, b, c, d, e) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (a, b, c, d, e) :: Type -> Type Source #

Methods

from :: (a, b, c, d, e) -> Rep (a, b, c, d, e) x Source #

to :: Rep (a, b, c, d, e) x -> (a, b, c, d, e) Source #

Generic (Product f g a b) 
Instance details

Defined in Data.Bifunctor.Product

Associated Types

type Rep (Product f g a b) :: Type -> Type Source #

Methods

from :: Product f g a b -> Rep (Product f g a b) x Source #

to :: Rep (Product f g a b) x -> Product f g a b Source #

Generic (Sum p q a b) 
Instance details

Defined in Data.Bifunctor.Sum

Associated Types

type Rep (Sum p q a b) :: Type -> Type Source #

Methods

from :: Sum p q a b -> Rep (Sum p q a b) x Source #

to :: Rep (Sum p q a b) x -> Sum p q a b Source #

Generic (a, b, c, d, e, f) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (a, b, c, d, e, f) :: Type -> Type Source #

Methods

from :: (a, b, c, d, e, f) -> Rep (a, b, c, d, e, f) x Source #

to :: Rep (a, b, c, d, e, f) x -> (a, b, c, d, e, f) Source #

Generic (Tannen f p a b) 
Instance details

Defined in Data.Bifunctor.Tannen

Associated Types

type Rep (Tannen f p a b) :: Type -> Type Source #

Methods

from :: Tannen f p a b -> Rep (Tannen f p a b) x Source #

to :: Rep (Tannen f p a b) x -> Tannen f p a b Source #

Generic (a, b, c, d, e, f, g) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (a, b, c, d, e, f, g) :: Type -> Type Source #

Methods

from :: (a, b, c, d, e, f, g) -> Rep (a, b, c, d, e, f, g) x Source #

to :: Rep (a, b, c, d, e, f, g) x -> (a, b, c, d, e, f, g) Source #

Generic (a, b, c, d, e, f, g, h) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (a, b, c, d, e, f, g, h) :: Type -> Type Source #

Methods

from :: (a, b, c, d, e, f, g, h) -> Rep (a, b, c, d, e, f, g, h) x Source #

to :: Rep (a, b, c, d, e, f, g, h) x -> (a, b, c, d, e, f, g, h) Source #

Generic (Biff p f g a b) 
Instance details

Defined in Data.Bifunctor.Biff

Associated Types

type Rep (Biff p f g a b) :: Type -> Type Source #

Methods

from :: Biff p f g a b -> Rep (Biff p f g a b) x Source #

to :: Rep (Biff p f g a b) x -> Biff p f g a b Source #

Generic (a, b, c, d, e, f, g, h, i) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (a, b, c, d, e, f, g, h, i) :: Type -> Type Source #

Methods

from :: (a, b, c, d, e, f, g, h, i) -> Rep (a, b, c, d, e, f, g, h, i) x Source #

to :: Rep (a, b, c, d, e, f, g, h, i) x -> (a, b, c, d, e, f, g, h, i) Source #

Generic (a, b, c, d, e, f, g, h, i, j) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (a, b, c, d, e, f, g, h, i, j) :: Type -> Type Source #

Methods

from :: (a, b, c, d, e, f, g, h, i, j) -> Rep (a, b, c, d, e, f, g, h, i, j) x Source #

to :: Rep (a, b, c, d, e, f, g, h, i, j) x -> (a, b, c, d, e, f, g, h, i, j) Source #

Generic (a, b, c, d, e, f, g, h, i, j, k) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (a, b, c, d, e, f, g, h, i, j, k) :: Type -> Type Source #

Methods

from :: (a, b, c, d, e, f, g, h, i, j, k) -> Rep (a, b, c, d, e, f, g, h, i, j, k) x Source #

to :: Rep (a, b, c, d, e, f, g, h, i, j, k) x -> (a, b, c, d, e, f, g, h, i, j, k) Source #

Generic (a, b, c, d, e, f, g, h, i, j, k, l) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (a, b, c, d, e, f, g, h, i, j, k, l) :: Type -> Type Source #

Methods

from :: (a, b, c, d, e, f, g, h, i, j, k, l) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l) x Source #

to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l) x -> (a, b, c, d, e, f, g, h, i, j, k, l) Source #

Generic (a, b, c, d, e, f, g, h, i, j, k, l, m) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (a, b, c, d, e, f, g, h, i, j, k, l, m) :: Type -> Type Source #

Methods

from :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m) x Source #

to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m) x -> (a, b, c, d, e, f, g, h, i, j, k, l, m) Source #

Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n) :: Type -> Type Source #

Methods

from :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n) x Source #

to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n) x -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source #

Generic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) :: Type -> Type Source #

Methods

from :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) x Source #

to :: Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) x -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source #