liqwid-plutarch-extra-3.21.1: A collection of Plutarch extras from Liqwid Labs
Safe HaskellSafe-Inferred
LanguageHaskell2010

Plutarch.Extra.Sum

Synopsis

Documentation

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

A 'numerical' value which is monoidal over its addition.

Since: 1.0.0

Constructors

PSum (Term s a) 

Instances

Instances details
PApplicative PSum Source #

Since: 1.0.0

Instance details

Defined in Plutarch.Extra.Sum

Methods

ppure :: forall (a :: S -> Type) (s :: S). PSubcategory PSum a => Term s (a :--> PSum a) Source #

PApply PSum Source #

Since: 1.0.0

Instance details

Defined in Plutarch.Extra.Sum

Methods

pliftA2 :: forall (a :: S -> Type) (b :: S -> Type) (c :: S -> Type) (s :: S). (PSubcategory PSum a, PSubcategory PSum b, PSubcategory PSum c) => Term s ((a :--> (b :--> c)) :--> (PSum a :--> (PSum b :--> PSum c))) Source #

PComonad PSum Source #

Since: 1.0.0

Instance details

Defined in Plutarch.Extra.Sum

Methods

pextract :: forall (a :: S -> Type) (s :: S). PSubcategory PSum a => Term s (PSum a :--> a) Source #

PExtend PSum Source #

Since: 1.0.0

Instance details

Defined in Plutarch.Extra.Sum

Methods

pextend :: forall (a :: S -> Type) (b :: S -> Type) (s :: S). (PSubcategory PSum a, PSubcategory PSum b) => Term s ((PSum a :--> b) :--> (PSum a :--> PSum b)) Source #

PFunctor PSum Source #

Since: 3.1.0

Instance details

Defined in Plutarch.Extra.Sum

Associated Types

type PSubcategory PSum :: (S -> Type) -> Constraint Source #

Methods

pfmap :: forall (a :: S -> Type) (b :: S -> Type) (s :: S). (PSubcategory PSum a, PSubcategory PSum b) => Term s ((a :--> b) :--> (PSum a :--> PSum b)) Source #

pfconst :: forall (a :: S -> Type) (b :: S -> Type) (s :: S). (PSubcategory PSum a, PSubcategory PSum b) => Term s (a :--> (PSum b :--> PSum a)) Source #

PSemiTraversable PSum Source #

Since: 1.0.0

Instance details

Defined in Plutarch.Extra.Traversable

Methods

psemitraverse :: forall (f :: (S -> Type) -> S -> Type) (a :: S -> Type) (b :: S -> Type) (s :: S). (PApply f, PSubcategory f a, PSubcategory f b, PSubcategory f (PSum b)) => Term s ((a :--> f b) :--> (PSum a :--> f (PSum b))) Source #

psemitraverse_ :: forall (b :: S -> Type) (f :: (S -> Type) -> S -> Type) (a :: S -> Type) (s :: S). (PApply f, PSubcategory f b, PBoring b, PSubcategory PSum a) => Term s ((a :--> f b) :--> (PSum a :--> f b)) Source #

PTraversable PSum Source #

Since: 1.0.0

Instance details

Defined in Plutarch.Extra.Traversable

Methods

ptraverse :: forall (f :: (S -> Type) -> S -> Type) (a :: S -> Type) (b :: S -> Type) (s :: S). (PApplicative f, PSubcategory f a, PSubcategory f b, PSubcategory f (PSum b), PSubcategory PSum a, PSubcategory PSum b) => Term s ((a :--> f b) :--> (PSum a :--> f (PSum b))) Source #

ptraverse_ :: forall (b :: S -> Type) (f :: (S -> Type) -> S -> Type) (a :: S -> Type) (s :: S). (PApplicative f, PSubcategory f b, PBoring b, PSubcategory PSum a) => Term s ((a :--> f b) :--> (PSum a :--> f b)) Source #

PBoring a => PBoring (PSum a) Source #

Since: 1.2.0

Instance details

Defined in Plutarch.Extra.Sum

Methods

pboring :: forall (s :: S). Term s (PSum a) Source #

PEq a => PEq (PSum a) Source #

Since: 1.0.0

Instance details

Defined in Plutarch.Extra.Sum

Methods

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

POrd a => POrd (PSum a) Source #

Since: 1.0.0

Instance details

Defined in Plutarch.Extra.Sum

POrd a => PPartialOrd (PSum a) Source #

Since: 1.4.0

Instance details

Defined in Plutarch.Extra.Sum

Methods

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

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

PIsData a => PIsData (PSum a) Source #

Since: 1.0.0

Instance details

Defined in Plutarch.Extra.Sum

Methods

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

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

PIntegral a => PIntegral (PSum a) Source #

Since: 1.0.0

Instance details

Defined in Plutarch.Extra.Sum

Methods

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

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

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

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

DerivePlutusType (PSum a) Source #

Since: 1.4.0

Instance details

Defined in Plutarch.Extra.Sum

Associated Types

type DPTStrat (PSum a) Source #

PlutusType (PSum a) Source # 
Instance details

Defined in Plutarch.Extra.Sum

Associated Types

type PInner (PSum a) :: PType Source #

type PCovariant' (PSum a) Source #

type PContravariant' (PSum a) Source #

type PVariant' (PSum a) Source #

Methods

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

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

PNum a => PNum (PSum a) Source #

Since: 1.0.0

Instance details

Defined in Plutarch.Extra.Sum

Methods

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

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

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

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

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

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

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

PShow a => PShow (PSum a) Source #

Since: 1.0.0

Instance details

Defined in Plutarch.Extra.Sum

Methods

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

(forall (s' :: S). Num (Term s' a)) => Monoid (Term s (PSum a)) Source #

Since: 1.0.0

Instance details

Defined in Plutarch.Extra.Sum

Methods

mempty :: Term s (PSum a) Source #

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

mconcat :: [Term s (PSum a)] -> Term s (PSum a) Source #

(forall (s' :: S). Num (Term s' a)) => Semigroup (Term s (PSum a)) Source #

Since: 1.0.0

Instance details

Defined in Plutarch.Extra.Sum

Methods

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

sconcat :: NonEmpty (Term s (PSum a)) -> Term s (PSum a) Source #

stimes :: Integral b => b -> Term s (PSum a) -> Term s (PSum a) Source #

Generic (PSum a s) Source # 
Instance details

Defined in Plutarch.Extra.Sum

Associated Types

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

Methods

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

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

type PSubcategory PSum Source # 
Instance details

Defined in Plutarch.Extra.Sum

type DPTStrat (PSum a) Source # 
Instance details

Defined in Plutarch.Extra.Sum

type PContravariant' (PSum a) Source # 
Instance details

Defined in Plutarch.Extra.Sum

type PContravariant' (PSum a) = All2 PContravariant'' (PCode (PSum a))
type PCovariant' (PSum a) Source # 
Instance details

Defined in Plutarch.Extra.Sum

type PCovariant' (PSum a) = All2 PCovariant'' (PCode (PSum a))
type PInner (PSum a) Source #

Since: 1.0.0

Instance details

Defined in Plutarch.Extra.Sum

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

Defined in Plutarch.Extra.Sum

type PVariant' (PSum a) = All2 PVariant'' (PCode (PSum a))
type Rep (PSum a s) Source #

Since: 1.0.0

Instance details

Defined in Plutarch.Extra.Sum

type Rep (PSum a s) = D1 ('MetaData "PSum" "Plutarch.Extra.Sum" "liqwid-plutarch-extra-3.21.1-KPadsMN5oqEA2Ctxwq6qig" 'True) (C1 ('MetaCons "PSum" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s a))))