plutus-core-1.0.0.1: Language library for Plutus Core
Safe Haskell None
Language Haskell2010

UntypedPlutusCore.MkUPlc

Synopsis

Documentation

data UVarDecl name ann Source #

An untyped "variable declaration", i.e. a name for a variable.

Constructors

UVarDecl

Fields

Instances

Instances details
Functor ( UVarDecl name) Source #
Instance details

Defined in UntypedPlutusCore.Core.Type

Methods

fmap :: (a -> b) -> UVarDecl name a -> UVarDecl name b Source #

(<$) :: a -> UVarDecl name b -> UVarDecl name a Source #

( Show ann, Show name) => Show ( UVarDecl name ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Type

Generic ( UVarDecl name ann) Source #
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 #

type Rep ( UVarDecl name ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Type

type Rep ( UVarDecl name ann) = D1 (' MetaData "UVarDecl" "UntypedPlutusCore.Core.Type" "plutus-core-1.0.0.1-76bWF9ZEWyb4eDyjHx0kCS" ' False ) ( C1 (' MetaCons "UVarDecl" ' PrefixI ' True ) ( S1 (' MetaSel (' Just "_uvarDeclAnn") ' NoSourceUnpackedness ' NoSourceStrictness ' DecidedLazy ) ( Rec0 ann) :*: S1 (' MetaSel (' Just "_uvarDeclName") ' NoSourceUnpackedness ' NoSourceStrictness ' DecidedLazy ) ( Rec0 name)))

uvarDeclName :: forall name ann name. Lens ( UVarDecl name ann) ( UVarDecl name ann) name name Source #

uvarDeclAnn :: forall name ann ann. Lens ( UVarDecl name ann) ( UVarDecl name ann) ann ann Source #

mkVar :: ann -> UVarDecl name ann -> Term name uni fun ann Source #

Make a Var referencing the given VarDecl .

mkIterApp Source #

Arguments

:: ann
-> Term name uni fun ann
f
-> [ Term name uni fun ann]
[ x0 ... xn ]
-> Term name uni fun ann
[f x0 ... xn ]

Make an iterated application.

mkIterLamAbs :: [ UVarDecl name ann] -> Term name uni fun ann -> Term name uni fun ann Source #

Lambda abstract a list of names.

data Def var val Source #

A definition. Pretty much just a pair with more descriptive names.

Constructors

Def

Fields

Instances

Instances details
( Eq var, Eq val) => Eq ( Def var val) Source #
Instance details

Defined in PlutusCore.MkPlc

Methods

(==) :: Def var val -> Def var val -> Bool Source #

(/=) :: Def var val -> Def var val -> Bool Source #

( Ord var, Ord val) => Ord ( Def var val) Source #
Instance details

Defined in PlutusCore.MkPlc

Methods

compare :: Def var val -> Def var val -> Ordering Source #

(<) :: Def var val -> Def var val -> Bool Source #

(<=) :: Def var val -> Def var val -> Bool Source #

(>) :: Def var val -> Def var val -> Bool Source #

(>=) :: Def var val -> Def var val -> Bool Source #

max :: Def var val -> Def var val -> Def var val Source #

min :: Def var val -> Def var val -> Def var val Source #

( Show var, Show val) => Show ( Def var val) Source #
Instance details

Defined in PlutusCore.MkPlc

Generic ( Def var val) Source #
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 #

type Rep ( Def var val) Source #
Instance details

Defined in PlutusCore.MkPlc

type Rep ( Def var val) = D1 (' MetaData "Def" "PlutusCore.MkPlc" "plutus-core-1.0.0.1-76bWF9ZEWyb4eDyjHx0kCS" ' False ) ( C1 (' MetaCons "Def" ' PrefixI ' True ) ( S1 (' MetaSel (' Just "defVar") ' NoSourceUnpackedness ' NoSourceStrictness ' DecidedLazy ) ( Rec0 var) :*: S1 (' MetaSel (' Just "defVal") ' NoSourceUnpackedness ' NoSourceStrictness ' DecidedLazy ) ( Rec0 val)))

type UTermDef name uni fun ann = Def ( UVarDecl name ann) ( Term name uni fun ann) Source #

A term definition as a variable.