plutus-core- Language library for Plutus Core
Safe HaskellSafe-Inferred




data SingKind k where Source #

The type of singletonized Haskell kinds representing Plutus kinds. Indexing by a Haskell kind allows us to avoid an error call in the ToKind instance of DefaultUni and not worry about proxies in the type of knownKind.


SingTypeSingKind Type 
SingKindArrowSingKind k → SingKind l → SingKind (k → l) infixr 5 

withSingKindKind ann → (∀ k. SingKind k → r) → r Source #

Feed the SingKind version of the given Kind to the given continuation.

class KnownKind k where Source #

For reifying Haskell kinds representing Plutus kinds at the term level.


knownKindSingKind k Source #


Instances details
rep ~ LiftedRepKnownKind (TYPE rep) Source #

Plutus only supports lifted types, hence the equality constraint.

Instance details

Defined in PlutusCore.Builtin.KnownKind


knownKindSingKind (TYPE rep) Source #

(KnownKind dom, KnownKind cod) ⇒ KnownKind (dom → cod) Source # 
Instance details

Defined in PlutusCore.Builtin.KnownKind


knownKindSingKind (dom → cod) Source #

bringKnownKindSingKind k → (KnownKind k ⇒ r) → r Source #

Satisfy the KnownKind constraint of a continuation using the given SingKind.

withKnownKindKind ann → (∀ k. KnownKind k ⇒ Proxy k → r) → r Source #

class ToKind (uni ∷ TypeType) where Source #

For computing the Plutus kind of a built-in type. See kindOfBuiltinType.


toSingKind ∷ uni (Esc (a ∷ k)) → SingKind k Source #

Reify the kind of a type from the universe at the term level.


Instances details
ToKind DefaultUni Source # 
Instance details

Defined in PlutusCore.Default.Universe


toSingKind ∷ ∀ k (a ∷ k). DefaultUni (Esc a) → SingKind k Source #

demoteKindSingKind k → Kind () Source #

Convert a reified Haskell kind to a Plutus kind.

kindOfBuiltinTypeToKind uni ⇒ uni (Esc a) → Kind () Source #

Compute the kind of a type from a universe.