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

UntypedPlutusCore

Synopsis

Documentation

substVarA :: Applicative f => (name -> f ( Maybe ( Term name uni fun ann))) -> Term name uni fun ann -> f ( Term name uni fun ann) Source #

Applicatively replace a variable using the given function.

substVar :: (name -> Maybe ( Term name uni fun ann)) -> Term name uni fun ann -> Term name uni fun ann Source #

Replace a variable using the given function.

termSubstNamesM :: Monad m => (name -> m ( Maybe ( Term name uni fun ann))) -> Term name uni fun ann -> m ( Term name uni fun ann) Source #

Naively monadically substitute names using the given function (i.e. do not substitute binders).

termSubstNames :: (name -> Maybe ( Term name uni fun ann)) -> Term name uni fun ann -> Term name uni fun ann Source #

Naively substitute names using the given function (i.e. do not substitute binders).

termSubstFreeNamesA :: ( Applicative f, HasUnique name TermUnique ) => (name -> f ( Maybe ( Term name uni fun ann))) -> Term name uni fun ann -> f ( Term name uni fun ann) Source #

Applicatively substitute *free* names using the given function.

termSubstFreeNames :: HasUnique name TermUnique => (name -> Maybe ( Term name uni fun ann)) -> Term name uni fun ann -> Term name uni fun ann Source #

Substitute *free* names using the given function.

termMapNames :: forall name name' uni fun ann. (name -> name') -> Term name uni fun ann -> Term name' uni fun ann Source #

Completely replace the names with a new name type.

programMapNames :: forall name name' uni fun ann. (name -> name') -> Program name uni fun ann -> Program name' uni fun ann Source #

uniquesTerm :: HasUniques ( Term name uni fun ann) => Term name uni fun ann -> Set Unique Source #

Get all the uniques in a term

vTerm :: Ord name => Term name uni fun ann -> Set name Source #

Get all the term variables in a term.

termSize :: Term name uni fun ann -> Integer Source #

Count the number of AST nodes in a term.

programSize :: Program name uni fun ann -> Integer Source #

Count the number of AST nodes in a program.

serialisedSize :: Flat a => a -> Integer Source #

Compute the size of the serialized form of a value.

simplifyTerm :: forall uni fun m a. ( ToBuiltinMeaning uni fun, MonadQuote m) => SimplifyOpts a -> Term Name uni fun a -> m ( Term Name uni fun a) Source #

data Term name uni fun ann Source #

The type of Untyped Plutus Core terms. Mirrors the type of Typed Plutus Core terms except

  1. all types are removed
  2. IWrap and Unwrap are removed
  3. type abstractions are replaced with Delay
  4. type instantiations are replaced with Force

The latter two are due to the fact that we don't have value restriction in Typed Plutus Core and hence a computation can be stuck expecting only a single type argument for the computation to become unstuck. Therefore we can't just silently remove type abstractions and instantiations and need to replace them with something else that also blocks evaluation (in order for the semantics of an erased program to match with the semantics of the original typed one). Delay and Force serve exactly this purpose.

Constructors

Var !ann !name
LamAbs !ann !name !( Term name uni fun ann)
Apply !ann !( Term name uni fun ann) !( Term name uni fun ann)
Force !ann !( Term name uni fun ann)
Delay !ann !( Term name uni fun ann)
Constant !ann !( Some ( ValueOf uni))
Builtin !ann !fun
Error !ann

Instances

Instances details
DefaultPrettyPlcStrategy ( Term name uni fun ann) => PrettyBy PrettyConfigPlc ( Term name uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Instance.Pretty.Plc

( PrettyReadableBy configName name, GShow uni, Closed uni, Everywhere uni PrettyConst , Pretty fun) => PrettyBy ( PrettyConfigReadable configName) ( Term name uni fun a) Source #
Instance details

Defined in UntypedPlutusCore.Core.Instance.Pretty.Readable

Methods

prettyBy :: PrettyConfigReadable configName -> Term name uni fun a -> Doc ann Source #

prettyListBy :: PrettyConfigReadable configName -> [ Term name uni fun a] -> Doc ann Source #

( PrettyClassicBy configName name, GShow uni, Closed uni, Everywhere uni PrettyConst , Pretty fun, Pretty ann) => PrettyBy ( PrettyConfigClassic configName) ( Term name uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Instance.Pretty.Classic

Methods

prettyBy :: PrettyConfigClassic configName -> Term name uni fun ann -> Doc ann0 Source #

prettyListBy :: PrettyConfigClassic configName -> [ Term name uni fun ann] -> Doc ann0 Source #

Functor ( Term name uni fun) Source #
Instance details

Defined in UntypedPlutusCore.Core.Type

Methods

fmap :: (a -> b) -> Term name uni fun a -> Term name uni fun b Source #

(<$) :: a -> Term name uni fun b -> Term name uni fun a Source #

TermLike ( Term name uni fun) TyName name uni fun Source #
Instance details

Defined in UntypedPlutusCore.Core.Type

Methods

var :: ann -> name -> Term name uni fun ann Source #

tyAbs :: ann -> TyName -> Kind ann -> Term name uni fun ann -> Term name uni fun ann Source #

lamAbs :: ann -> name -> Type TyName uni ann -> Term name uni fun ann -> Term name uni fun ann Source #

apply :: ann -> Term name uni fun ann -> Term name uni fun ann -> Term name uni fun ann Source #

constant :: ann -> Some ( ValueOf uni) -> Term name uni fun ann Source #

builtin :: ann -> fun -> Term name uni fun ann Source #

tyInst :: ann -> Term name uni fun ann -> Type TyName uni ann -> Term name uni fun ann Source #

unwrap :: ann -> Term name uni fun ann -> Term name uni fun ann Source #

iWrap :: ann -> Type TyName uni ann -> Type TyName uni ann -> Term name uni fun ann -> Term name uni fun ann Source #

error :: ann -> Type TyName uni ann -> Term name uni fun ann Source #

termLet :: ann -> TermDef ( Term name uni fun) TyName name uni fun ann -> Term name uni fun ann -> Term name uni fun ann Source #

typeLet :: ann -> TypeDef TyName uni ann -> Term name uni fun ann -> Term name uni fun ann Source #

PrettyUni uni fun => MonadError ( CekEvaluationException NamedDeBruijn uni fun) ( CekM uni fun s) Source #
Instance details

Defined in UntypedPlutusCore.Evaluation.Machine.Cek.Internal

( GEq uni, Closed uni, Everywhere uni Eq , Eq fun, Eq ann) => Eq ( Term Name uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Instance.Eq

( GEq uni, Closed uni, Everywhere uni Eq , Eq fun, Eq ann) => Eq ( Term DeBruijn uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Instance.Eq

( GEq uni, Closed uni, Everywhere uni Eq , Eq fun, Eq ann) => Eq ( Term FakeNamedDeBruijn uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Instance.Eq

( GEq uni, Closed uni, Everywhere uni Eq , Eq fun, Eq ann) => Eq ( Term NamedDeBruijn uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Instance.Eq

( Everywhere uni Show , GShow uni, Closed uni, Show ann, Show name, Show fun) => Show ( Term name uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Type

Generic ( Term name uni fun ann) Source #
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 #

( Everywhere uni NFData , Closed uni, NFData ann, NFData name, NFData fun) => NFData ( Term name uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Type

Methods

rnf :: Term name uni fun ann -> () Source #

( Closed uni, Everywhere uni Flat , PrettyPlc ( Term name uni fun ann), Flat fun, Flat ann, Flat name, Flat ( Binder name)) => Flat ( Term name uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Instance.Flat

( PrettyClassic name, GShow uni, Closed uni, Everywhere uni PrettyConst , Pretty fun, Pretty ann) => Pretty ( Term name uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Instance.Pretty.Default

Methods

pretty :: Term name uni fun ann -> Doc ann0 Source #

prettyList :: [ Term name uni fun ann] -> Doc ann0 Source #

Recursive ( Term name uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Instance.Recursive

Methods

project :: Term name uni fun ann -> Base ( Term name uni fun ann) ( Term name uni fun ann) Source #

cata :: ( Base ( Term name uni fun ann) a -> a) -> Term name uni fun ann -> a Source #

para :: ( Base ( Term name uni fun ann) ( Term name uni fun ann, a) -> a) -> Term name uni fun ann -> a Source #

gpara :: ( Corecursive ( Term name uni fun ann), Comonad w) => ( forall b. Base ( Term name uni fun ann) (w b) -> w ( Base ( Term name uni fun ann) b)) -> ( Base ( Term name uni fun ann) ( EnvT ( Term name uni fun ann) w a) -> a) -> Term name uni fun ann -> a Source #

prepro :: Corecursive ( Term name uni fun ann) => ( forall b. Base ( Term name uni fun ann) b -> Base ( Term name uni fun ann) b) -> ( Base ( Term name uni fun ann) a -> a) -> Term name uni fun ann -> a Source #

gprepro :: ( Corecursive ( Term name uni fun ann), Comonad w) => ( forall b. Base ( Term name uni fun ann) (w b) -> w ( Base ( Term name uni fun ann) b)) -> ( forall c. Base ( Term name uni fun ann) c -> Base ( Term name uni fun ann) c) -> ( Base ( Term name uni fun ann) (w a) -> a) -> Term name uni fun ann -> a Source #

Corecursive ( Term name uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Instance.Recursive

Methods

embed :: Base ( Term name uni fun ann) ( Term name uni fun ann) -> Term name uni fun ann Source #

ana :: (a -> Base ( Term name uni fun ann) a) -> a -> Term name uni fun ann Source #

apo :: (a -> Base ( Term name uni fun ann) ( Either ( Term name uni fun ann) a)) -> a -> Term name uni fun ann Source #

postpro :: Recursive ( Term name uni fun ann) => ( forall b. Base ( Term name uni fun ann) b -> Base ( Term name uni fun ann) b) -> (a -> Base ( Term name uni fun ann) a) -> a -> Term name uni fun ann Source #

gpostpro :: ( Recursive ( Term name uni fun ann), Monad m) => ( forall b. m ( Base ( Term name uni fun ann) b) -> Base ( Term name uni fun ann) (m b)) -> ( forall c. Base ( Term name uni fun ann) c -> Base ( Term name uni fun ann) c) -> (a -> Base ( Term name uni fun ann) (m a)) -> a -> Term name uni fun ann Source #

HasUniques ( Term name uni fun ann) => Rename ( Term name uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Rename

Methods

rename :: MonadQuote m => Term name uni fun ann -> m ( Term name uni fun ann) Source #

HasConstant ( Term name uni fun ()) Source #
Instance details

Defined in UntypedPlutusCore.Core.Type

Methods

asConstant :: AsUnliftingError err => Maybe cause -> Term name uni fun () -> Either ( ErrorWithCause err cause) ( Some ( ValueOf ( UniOf ( Term name uni fun ())))) Source #

fromConstant :: Some ( ValueOf ( UniOf ( Term name uni fun ()))) -> Term name uni fun () Source #

type Rep ( Term name uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Type

type Rep ( Term name uni fun ann) = D1 (' MetaData "Term" "UntypedPlutusCore.Core.Type" "plutus-core-1.0.0.1-76bWF9ZEWyb4eDyjHx0kCS" ' False ) ((( C1 (' MetaCons "Var" ' PrefixI ' False ) ( S1 (' MetaSel (' Nothing :: Maybe Symbol ) ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 ann) :*: S1 (' MetaSel (' Nothing :: Maybe Symbol ) ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 name)) :+: C1 (' MetaCons "LamAbs" ' PrefixI ' False ) ( S1 (' MetaSel (' Nothing :: Maybe Symbol ) ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 ann) :*: ( S1 (' MetaSel (' Nothing :: Maybe Symbol ) ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 name) :*: S1 (' MetaSel (' Nothing :: Maybe Symbol ) ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 ( Term name uni fun ann))))) :+: ( C1 (' MetaCons "Apply" ' PrefixI ' False ) ( S1 (' MetaSel (' Nothing :: Maybe Symbol ) ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 ann) :*: ( S1 (' MetaSel (' Nothing :: Maybe Symbol ) ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 ( Term name uni fun ann)) :*: S1 (' MetaSel (' Nothing :: Maybe Symbol ) ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 ( Term name uni fun ann)))) :+: C1 (' MetaCons "Force" ' PrefixI ' False ) ( S1 (' MetaSel (' Nothing :: Maybe Symbol ) ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 ann) :*: S1 (' MetaSel (' Nothing :: Maybe Symbol ) ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 ( Term name uni fun ann))))) :+: (( C1 (' MetaCons "Delay" ' PrefixI ' False ) ( S1 (' MetaSel (' Nothing :: Maybe Symbol ) ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 ann) :*: S1 (' MetaSel (' Nothing :: Maybe Symbol ) ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 ( Term name uni fun ann))) :+: C1 (' MetaCons "Constant" ' PrefixI ' False ) ( S1 (' MetaSel (' Nothing :: Maybe Symbol ) ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 ann) :*: S1 (' MetaSel (' Nothing :: Maybe Symbol ) ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 ( Some ( ValueOf uni))))) :+: ( C1 (' MetaCons "Builtin" ' PrefixI ' False ) ( S1 (' MetaSel (' Nothing :: Maybe Symbol ) ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 ann) :*: S1 (' MetaSel (' Nothing :: Maybe Symbol ) ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 fun)) :+: C1 (' MetaCons "Error" ' PrefixI ' False ) ( S1 (' MetaSel (' Nothing :: Maybe Symbol ) ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 ann)))))
type Base ( Term name uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Instance.Recursive

type Base ( Term name uni fun ann) = TermF name uni fun ann
type UniOf ( Term name uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Type

type UniOf ( Term name uni fun ann) = uni
type HasUniques ( Term name uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Type

type HasUniques ( Term name uni fun ann) = HasUnique name TermUnique

data Program name uni fun ann Source #

A Program is simply a Term coupled with a Version of the core language.

Constructors

Program

Fields

Instances

Instances details
DefaultPrettyPlcStrategy ( Program name uni fun ann) => PrettyBy PrettyConfigPlc ( Program name uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Instance.Pretty.Plc

PrettyReadableBy configName ( Term name uni fun a) => PrettyBy ( PrettyConfigReadable configName) ( Program name uni fun a) Source #
Instance details

Defined in UntypedPlutusCore.Core.Instance.Pretty.Readable

( PrettyClassicBy configName ( Term name uni fun ann), Pretty ann) => PrettyBy ( PrettyConfigClassic configName) ( Program name uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Instance.Pretty.Classic

Methods

prettyBy :: PrettyConfigClassic configName -> Program name uni fun ann -> Doc ann0 Source #

prettyListBy :: PrettyConfigClassic configName -> [ Program name uni fun ann] -> Doc ann0 Source #

Functor ( Program name uni fun) Source #
Instance details

Defined in UntypedPlutusCore.Core.Type

Methods

fmap :: (a -> b) -> Program name uni fun a -> Program name uni fun b Source #

(<$) :: a -> Program name uni fun b -> Program name uni fun a Source #

( GEq uni, Closed uni, Everywhere uni Eq , Eq fun, Eq ann, Eq ( Term name uni fun ann)) => Eq ( Program name uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Instance.Eq

Methods

(==) :: Program name uni fun ann -> Program name uni fun ann -> Bool Source #

(/=) :: Program name uni fun ann -> Program name uni fun ann -> Bool Source #

( Everywhere uni Show , GShow uni, Closed uni, Show ann, Show name, Show fun) => Show ( Program name uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Type

Generic ( Program name uni fun ann) Source #
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 #

( Everywhere uni NFData , Closed uni, NFData ann, NFData name, NFData fun) => NFData ( Program name uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Type

Methods

rnf :: Program name uni fun ann -> () Source #

( Closed uni, Everywhere uni Flat , PrettyPlc ( Term name uni fun ann), Flat fun, Flat ann, Flat name, Flat ( Binder name)) => Flat ( Program name uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Instance.Flat

( PrettyClassic name, GShow uni, Closed uni, Everywhere uni PrettyConst , Pretty fun, Pretty ann) => Pretty ( Program name uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Instance.Pretty.Default

Methods

pretty :: Program name uni fun ann -> Doc ann0 Source #

prettyList :: [ Program name uni fun ann] -> Doc ann0 Source #

HasUniques ( Program name uni fun ann) => Rename ( Program name uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Rename

Methods

rename :: MonadQuote m => Program name uni fun ann -> m ( Program name uni fun ann) Source #

type Rep ( Program name uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Type

type Rep ( Program name uni fun ann) = D1 (' MetaData "Program" "UntypedPlutusCore.Core.Type" "plutus-core-1.0.0.1-76bWF9ZEWyb4eDyjHx0kCS" ' False ) ( C1 (' MetaCons "Program" ' PrefixI ' True ) ( S1 (' MetaSel (' Just "_progAnn") ' NoSourceUnpackedness ' NoSourceStrictness ' DecidedLazy ) ( Rec0 ann) :*: ( S1 (' MetaSel (' Just "_progVer") ' NoSourceUnpackedness ' NoSourceStrictness ' DecidedLazy ) ( Rec0 ( Version ann)) :*: S1 (' MetaSel (' Just "_progTerm") ' NoSourceUnpackedness ' NoSourceStrictness ' DecidedLazy ) ( Rec0 ( Term name uni fun ann)))))
type HasUniques ( Program name uni fun ann) Source #
Instance details

Defined in UntypedPlutusCore.Core.Type

type HasUniques ( Program name uni fun ann) = HasUniques ( Term name uni fun ann)

applyProgram :: Program name uni fun () -> Program name uni fun () -> Program name uni fun () Source #

Take one UPLC program and apply it to another.

data DefaultUni a Source #

The universe used by default.

Instances

Instances details
HasUniApply DefaultUni Source #
Instance details

Defined in PlutusCore.Default.Universe

Methods

matchUniApply :: DefaultUni tb -> r -> ( forall k l (f :: k -> l) (a :: k). tb ~ Esc (f a) => DefaultUni ( Esc f) -> DefaultUni ( Esc a) -> r) -> r Source #

Closed DefaultUni Source #
Instance details

Defined in PlutusCore.Default.Universe

Associated Types

type Everywhere DefaultUni constr Source #

ToKind DefaultUni Source #
Instance details

Defined in PlutusCore.Default.Universe

Methods

toSingKind :: forall k (a :: k). DefaultUni ( Esc a) -> SingKind k Source #

TestTypesFromTheUniverseAreAllKnown DefaultUni Source #
Instance details

Defined in PlutusCore.Default.Universe

GShow DefaultUni Source #
Instance details

Defined in PlutusCore.Default.Universe

GEq DefaultUni Source #
Instance details

Defined in PlutusCore.Default.Universe

Methods

geq :: forall (a :: k) (b :: k). DefaultUni a -> DefaultUni b -> Maybe (a :~: b) Source #

GCompare DefaultUni Source #
Instance details

Defined in PlutusCore.Default.Universe

Methods

gcompare :: forall (a :: k) (b :: k). DefaultUni a -> DefaultUni b -> GOrdering a b Source #

HasConstantIn DefaultUni term => ReadKnownIn DefaultUni term Int Source #
Instance details

Defined in PlutusCore.Default.Universe

HasConstantIn DefaultUni term => ReadKnownIn DefaultUni term Int64 Source #
Instance details

Defined in PlutusCore.Default.Universe

HasConstantIn DefaultUni term => ReadKnownIn DefaultUni term Data Source #
Instance details

Defined in PlutusCore.Default.Universe

HasConstantIn DefaultUni term => ReadKnownIn DefaultUni term Bool Source #
Instance details

Defined in PlutusCore.Default.Universe

HasConstantIn DefaultUni term => ReadKnownIn DefaultUni term () Source #
Instance details

Defined in PlutusCore.Default.Universe

Methods

readKnown :: Maybe cause -> term -> ReadKnownM cause () Source #

HasConstantIn DefaultUni term => ReadKnownIn DefaultUni term Text Source #
Instance details

Defined in PlutusCore.Default.Universe

HasConstantIn DefaultUni term => ReadKnownIn DefaultUni term ByteString Source #
Instance details

Defined in PlutusCore.Default.Universe

HasConstantIn DefaultUni term => ReadKnownIn DefaultUni term Integer Source #
Instance details

Defined in PlutusCore.Default.Universe

UniOf term ~ DefaultUni => ReadKnownIn DefaultUni term Void Source #
Instance details

Defined in PlutusCore.Examples.Builtins

HasConstantIn DefaultUni term => MakeKnownIn DefaultUni term Int Source #
Instance details

Defined in PlutusCore.Default.Universe

HasConstantIn DefaultUni term => MakeKnownIn DefaultUni term Int64 Source #
Instance details

Defined in PlutusCore.Default.Universe

HasConstantIn DefaultUni term => MakeKnownIn DefaultUni term Data Source #
Instance details

Defined in PlutusCore.Default.Universe

HasConstantIn DefaultUni term => MakeKnownIn DefaultUni term Bool Source #
Instance details

Defined in PlutusCore.Default.Universe

HasConstantIn DefaultUni term => MakeKnownIn DefaultUni term () Source #
Instance details

Defined in PlutusCore.Default.Universe

Methods

makeKnown :: Maybe cause -> () -> MakeKnownM cause term Source #

HasConstantIn DefaultUni term => MakeKnownIn DefaultUni term Text Source #
Instance details

Defined in PlutusCore.Default.Universe

HasConstantIn DefaultUni term => MakeKnownIn DefaultUni term ByteString Source #
Instance details

Defined in PlutusCore.Default.Universe

HasConstantIn DefaultUni term => MakeKnownIn DefaultUni term Integer Source #
Instance details

Defined in PlutusCore.Default.Universe

UniOf term ~ DefaultUni => MakeKnownIn DefaultUni term Void Source #
Instance details

Defined in PlutusCore.Examples.Builtins

( Contains DefaultUni f, Contains DefaultUni a) => Contains DefaultUni (f a :: k2) Source #
Instance details

Defined in PlutusCore.Default.Universe

( HasConstantIn DefaultUni term, Contains DefaultUni [a]) => ReadKnownIn DefaultUni term [a] Source #
Instance details

Defined in PlutusCore.Default.Universe

Methods

readKnown :: Maybe cause -> term -> ReadKnownM cause [a] Source #

( HasConstantIn DefaultUni term, Contains DefaultUni [a]) => MakeKnownIn DefaultUni term [a] Source #
Instance details

Defined in PlutusCore.Default.Universe

Methods

makeKnown :: Maybe cause -> [a] -> MakeKnownM cause term Source #

( HasConstantIn DefaultUni term, Contains DefaultUni (a, b)) => ReadKnownIn DefaultUni term (a, b) Source #
Instance details

Defined in PlutusCore.Default.Universe

Methods

readKnown :: Maybe cause -> term -> ReadKnownM cause (a, b) Source #

( HasConstantIn DefaultUni term, Contains DefaultUni (a, b)) => MakeKnownIn DefaultUni term (a, b) Source #
Instance details

Defined in PlutusCore.Default.Universe

Methods

makeKnown :: Maybe cause -> (a, b) -> MakeKnownM cause term Source #

Show ( DefaultUni a) Source #
Instance details

Defined in PlutusCore.Default.Universe

Contains DefaultUni Bool Source #
Instance details

Defined in PlutusCore.Default.Universe

Contains DefaultUni Integer Source #
Instance details

Defined in PlutusCore.Default.Universe

Contains DefaultUni () Source #
Instance details

Defined in PlutusCore.Default.Universe

Contains DefaultUni ByteString Source #
Instance details

Defined in PlutusCore.Default.Universe

Contains DefaultUni Text Source #
Instance details

Defined in PlutusCore.Default.Universe

Contains DefaultUni Data Source #
Instance details

Defined in PlutusCore.Default.Universe

KnownBuiltinTypeAst DefaultUni Bool => KnownTypeAst DefaultUni Bool Source #
Instance details

Defined in PlutusCore.Default.Universe

KnownTypeAst DefaultUni Int Source #
Instance details

Defined in PlutusCore.Default.Universe

KnownTypeAst DefaultUni Int64 Source #
Instance details

Defined in PlutusCore.Default.Universe

KnownBuiltinTypeAst DefaultUni Integer => KnownTypeAst DefaultUni Integer Source #
Instance details

Defined in PlutusCore.Default.Universe

KnownBuiltinTypeAst DefaultUni () => KnownTypeAst DefaultUni () Source #
Instance details

Defined in PlutusCore.Default.Universe

KnownBuiltinTypeAst DefaultUni ByteString => KnownTypeAst DefaultUni ByteString Source #
Instance details

Defined in PlutusCore.Default.Universe

KnownBuiltinTypeAst DefaultUni Text => KnownTypeAst DefaultUni Text Source #
Instance details

Defined in PlutusCore.Default.Universe

KnownTypeAst DefaultUni Void Source #
Instance details

Defined in PlutusCore.Examples.Builtins

KnownBuiltinTypeAst DefaultUni Data => KnownTypeAst DefaultUni Data Source #
Instance details

Defined in PlutusCore.Default.Universe

KnownBuiltinTypeAst DefaultUni [a] => KnownTypeAst DefaultUni ([a] :: Type ) Source #
Instance details

Defined in PlutusCore.Default.Universe

KnownBuiltinTypeAst DefaultUni (a, b) => KnownTypeAst DefaultUni ((a, b) :: Type ) Source #
Instance details

Defined in PlutusCore.Default.Universe

Associated Types

type ToHoles (a, b) :: [ Hole ] Source #

type ToBinds (a, b) :: [ Some TyNameRep ] Source #

Contains DefaultUni (,) Source #
Instance details

Defined in PlutusCore.Default.Universe

Contains DefaultUni [] Source #
Instance details

Defined in PlutusCore.Default.Universe

type Everywhere DefaultUni constr Source #
Instance details

Defined in PlutusCore.Default.Universe

data DefaultFun Source #

Default built-in functions.

When updating these, make sure to add them to the protocol version listing! See Note [New builtins and protocol versions]

Instances

Instances details
Bounded DefaultFun Source #
Instance details

Defined in PlutusCore.Default.Builtins

Enum DefaultFun Source #
Instance details

Defined in PlutusCore.Default.Builtins

Eq DefaultFun Source #
Instance details

Defined in PlutusCore.Default.Builtins

Ord DefaultFun Source #
Instance details

Defined in PlutusCore.Default.Builtins

Show DefaultFun Source #
Instance details

Defined in PlutusCore.Default.Builtins

Ix DefaultFun Source #
Instance details

Defined in PlutusCore.Default.Builtins

Generic DefaultFun Source #
Instance details

Defined in PlutusCore.Default.Builtins

Hashable DefaultFun Source #
Instance details

Defined in PlutusCore.Default.Builtins

NFData DefaultFun Source #
Instance details

Defined in PlutusCore.Default.Builtins

Flat DefaultFun Source #
Instance details

Defined in PlutusCore.Default.Builtins

Pretty DefaultFun Source #
Instance details

Defined in PlutusCore.Default.Builtins

ExMemoryUsage DefaultFun Source #
Instance details

Defined in PlutusCore.Default.Builtins

PrettyBy PrettyConfigPlc DefaultFun Source #
Instance details

Defined in PlutusCore.Default.Builtins

uni ~ DefaultUni => ToBuiltinMeaning uni DefaultFun Source #
Instance details

Defined in PlutusCore.Default.Builtins

type Rep DefaultFun Source #
Instance details

Defined in PlutusCore.Default.Builtins

type Rep DefaultFun = D1 (' MetaData "DefaultFun" "PlutusCore.Default.Builtins" "plutus-core-1.0.0.1-76bWF9ZEWyb4eDyjHx0kCS" ' False ) ((((( C1 (' MetaCons "AddInteger" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: ( C1 (' MetaCons "SubtractInteger" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "MultiplyInteger" ' PrefixI ' False ) ( U1 :: Type -> Type ))) :+: ( C1 (' MetaCons "DivideInteger" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: ( C1 (' MetaCons "QuotientInteger" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "RemainderInteger" ' PrefixI ' False ) ( U1 :: Type -> Type )))) :+: (( C1 (' MetaCons "ModInteger" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: ( C1 (' MetaCons "EqualsInteger" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "LessThanInteger" ' PrefixI ' False ) ( U1 :: Type -> Type ))) :+: (( C1 (' MetaCons "LessThanEqualsInteger" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "AppendByteString" ' PrefixI ' False ) ( U1 :: Type -> Type )) :+: ( C1 (' MetaCons "ConsByteString" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "SliceByteString" ' PrefixI ' False ) ( U1 :: Type -> Type ))))) :+: ((( C1 (' MetaCons "LengthOfByteString" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: ( C1 (' MetaCons "IndexByteString" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "EqualsByteString" ' PrefixI ' False ) ( U1 :: Type -> Type ))) :+: (( C1 (' MetaCons "LessThanByteString" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "LessThanEqualsByteString" ' PrefixI ' False ) ( U1 :: Type -> Type )) :+: ( C1 (' MetaCons "Sha2_256" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "Sha3_256" ' PrefixI ' False ) ( U1 :: Type -> Type )))) :+: (( C1 (' MetaCons "Blake2b_256" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: ( C1 (' MetaCons "VerifyEd25519Signature" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "VerifyEcdsaSecp256k1Signature" ' PrefixI ' False ) ( U1 :: Type -> Type ))) :+: (( C1 (' MetaCons "VerifySchnorrSecp256k1Signature" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "AppendString" ' PrefixI ' False ) ( U1 :: Type -> Type )) :+: ( C1 (' MetaCons "EqualsString" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "EncodeUtf8" ' PrefixI ' False ) ( U1 :: Type -> Type )))))) :+: (((( C1 (' MetaCons "DecodeUtf8" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: ( C1 (' MetaCons "IfThenElse" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "ChooseUnit" ' PrefixI ' False ) ( U1 :: Type -> Type ))) :+: ( C1 (' MetaCons "Trace" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: ( C1 (' MetaCons "FstPair" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "SndPair" ' PrefixI ' False ) ( U1 :: Type -> Type )))) :+: (( C1 (' MetaCons "ChooseList" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: ( C1 (' MetaCons "MkCons" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "HeadList" ' PrefixI ' False ) ( U1 :: Type -> Type ))) :+: (( C1 (' MetaCons "TailList" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "NullList" ' PrefixI ' False ) ( U1 :: Type -> Type )) :+: ( C1 (' MetaCons "ChooseData" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "ConstrData" ' PrefixI ' False ) ( U1 :: Type -> Type ))))) :+: ((( C1 (' MetaCons "MapData" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: ( C1 (' MetaCons "ListData" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "IData" ' PrefixI ' False ) ( U1 :: Type -> Type ))) :+: (( C1 (' MetaCons "BData" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "UnConstrData" ' PrefixI ' False ) ( U1 :: Type -> Type )) :+: ( C1 (' MetaCons "UnMapData" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "UnListData" ' PrefixI ' False ) ( U1 :: Type -> Type )))) :+: (( C1 (' MetaCons "UnIData" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: ( C1 (' MetaCons "UnBData" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "EqualsData" ' PrefixI ' False ) ( U1 :: Type -> Type ))) :+: (( C1 (' MetaCons "SerialiseData" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "MkPairData" ' PrefixI ' False ) ( U1 :: Type -> Type )) :+: ( C1 (' MetaCons "MkNilData" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "MkNilPairData" ' PrefixI ' False ) ( U1 :: Type -> Type )))))))
type CostingPart uni DefaultFun Source #
Instance details

Defined in PlutusCore.Default.Builtins