Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- size :: forall a. (Bounded a, Enum a) => Int
- data ExtensionFun
- = Factorial
- | ForallFortyTwo
- | SumInteger
- | Const
- | Id
- | IdAssumeBool
- | IdAssumeCheckBool
- | IdSomeConstantBool
- | IdIntegerAsBool
- | IdFInteger
- | IdList
- | IdRank2
- | ScottToMetaUnit
- | FailingSucc
- | ExpensiveSucc
- | FailingPlus
- | ExpensivePlus
- | IsConstant
- | UnsafeCoerce
- | UnsafeCoerceEl
- | Undefined
- | Absurd
- | ErrorPrime
- | Comma
- | BiconstPair
- | Swap
- | SwapEls
- | ExtensionVersion
- | TrackCosts
- | IntNoIntegerNoWord
- newtype MetaForall name a = MetaForall a
- data PlcListRep (a :: Type)
- data BuiltinErrorCall = BuiltinErrorCall
- class Whatever a where
- whatever :: a
Documentation
data ExtensionFun Source #
Instances
newtype MetaForall name a Source #
Normally forall
in the type of a Haskell function gets detected and instantiated
automatically, however there's no way of doing that for a forall
that binds a never referenced
type variable. Which is OK, because that would be a pretty weird builtin, however it's definable
and for the purpose of testing we do introduce such a builtin, hence this definition allowing us
to create an all
that binds a never referenced type variable in Plutus while still using
makeBuiltinMeaning
.
Instances
(name ~ ('TyNameRep text uniq :: TyNameRep kind), KnownSymbol text, KnownNat uniq, KnownKind kind, KnownTypeAst tyname uni a) => KnownTypeAst tyname uni (MetaForall name a :: Type) Source # | |
Defined in PlutusCore.Examples.Builtins type IsBuiltin uni (MetaForall name a) :: Bool Source # type ToHoles uni (MetaForall name a) :: [Hole] Source # type ToBinds uni acc (MetaForall name a) :: [Some TyNameRep] Source # | |
MakeKnownIn DefaultUni term a => MakeKnownIn DefaultUni term (MetaForall name a) Source # | |
Defined in PlutusCore.Examples.Builtins makeKnown :: MetaForall name a -> BuiltinResult term Source # | |
type ToBinds uni acc (MetaForall name a :: Type) Source # | |
Defined in PlutusCore.Examples.Builtins | |
type IsBuiltin uni (MetaForall name a :: Type) Source # | |
Defined in PlutusCore.Examples.Builtins | |
type ToHoles uni (MetaForall name a :: Type) Source # | |
Defined in PlutusCore.Examples.Builtins |
data PlcListRep (a :: Type) Source #
Instances
(tyname ~ TyName, KnownTypeAst tyname uni a) => KnownTypeAst tyname uni (PlcListRep a :: Type) Source # | |
Defined in PlutusCore.Examples.Builtins type IsBuiltin uni (PlcListRep a) :: Bool Source # type ToHoles uni (PlcListRep a) :: [Hole] Source # type ToBinds uni acc (PlcListRep a) :: [Some TyNameRep] Source # | |
type ToBinds uni acc (PlcListRep a :: Type) Source # | |
Defined in PlutusCore.Examples.Builtins | |
type IsBuiltin uni (PlcListRep a :: Type) Source # | |
Defined in PlutusCore.Examples.Builtins | |
type ToHoles uni (PlcListRep a :: Type) Source # | |
Defined in PlutusCore.Examples.Builtins |
data BuiltinErrorCall Source #
Instances
Exception BuiltinErrorCall Source # | |
Show BuiltinErrorCall Source # | |
Defined in PlutusCore.Examples.Builtins | |
Eq BuiltinErrorCall Source # | |
Defined in PlutusCore.Examples.Builtins (==) :: BuiltinErrorCall -> BuiltinErrorCall -> Bool Source # (/=) :: BuiltinErrorCall -> BuiltinErrorCall -> Bool Source # |
class Whatever a where Source #
For the most part we don't care about costing functions of example builtins, hence this class for being explicit about not caring.
Instances
Whatever ExBudgetStream Source # | |
Defined in PlutusCore.Examples.Builtins | |
Whatever b => Whatever (a -> b) Source # | |
Defined in PlutusCore.Examples.Builtins |