plutarch
Safe HaskellNone
LanguageGHC2021

Plutarch.Internal.PLam

Documentation

class PLamN a (b :: S -> Type) (s :: S) | a -> b, s b -> a Source #

Minimal complete definition

plam

Instances

Instances details
a' ~ Term s a => PLamN a' a s Source # 
Instance details

Defined in Plutarch.Internal.PLam

Methods

plam :: forall (c :: S -> Type). HasCallStack => (Term s c -> a') -> Term s (c :--> a) Source #

(a' ~ Term s a, PLamN b' b s) => PLamN (a' -> b') (a :--> b) s Source # 
Instance details

Defined in Plutarch.Internal.PLam

Methods

plam :: forall (c :: S -> Type). HasCallStack => (Term s c -> a' -> b') -> Term s (c :--> (a :--> b)) Source #

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

pinl :: forall (s :: S) (a :: S -> Type) (b :: S -> Type). Term s a -> (Term s a -> Term s b) -> Term s b Source #