Safe Haskell | None |
---|---|
Language | Haskell2010 |
UntypedPlutusCore.MkUPlc
Synopsis
- data UVarDecl name ann = UVarDecl {
- _uvarDeclAnn :: ann
- _uvarDeclName :: name
- uvarDeclName :: forall name ann name. Lens (UVarDecl name ann) (UVarDecl name ann) name name
- uvarDeclAnn :: forall name ann ann. Lens (UVarDecl name ann) (UVarDecl name ann) ann ann
- mkVar :: ann -> UVarDecl name ann -> Term name uni fun ann
- mkIterApp :: ann -> Term name uni fun ann -> [Term name uni fun ann] -> Term name uni fun ann
- mkIterLamAbs :: [UVarDecl name ann] -> Term name uni fun ann -> Term name uni fun ann
- data Def var val = Def {}
- type UTermDef name uni fun ann = Def (UVarDecl name ann) (Term name uni fun ann)
Documentation
data UVarDecl name ann Source #
An untyped "variable declaration", i.e. a name for a variable.
Constructors
UVarDecl | |
Fields
|
Instances
Functor (UVarDecl name) Source # | |
(Show ann, Show name) => Show (UVarDecl name ann) Source # | |
Generic (UVarDecl name ann) Source # | |
type Rep (UVarDecl name ann) Source # | |
Defined in UntypedPlutusCore.Core.Type type Rep (UVarDecl name ann) = D1 ('MetaData "UVarDecl" "UntypedPlutusCore.Core.Type" "plutus-core-1.0.0.1-6wMiyL0yerXJu56t8zBoKx" '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
.
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.
A definition. Pretty much just a pair with more descriptive names.
Instances
(Eq var, Eq val) => Eq (Def var val) Source # | |
(Ord var, Ord val) => Ord (Def var val) Source # | |
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 # | |
(Show var, Show val) => Show (Def var val) Source # | |
Generic (Def var val) Source # | |
type Rep (Def var val) Source # | |
Defined in PlutusCore.MkPlc type Rep (Def var val) = D1 ('MetaData "Def" "PlutusCore.MkPlc" "plutus-core-1.0.0.1-6wMiyL0yerXJu56t8zBoKx" 'False) (C1 ('MetaCons "Def" 'PrefixI 'True) (S1 ('MetaSel ('Just "defVar") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 var) :*: S1 ('MetaSel ('Just "defVal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 val))) |