plutus-core-1.36.0.0: Language library for Plutus Core
Safe HaskellSafe-Inferred
LanguageHaskell2010

PlutusIR.Check.Uniques

Documentation

checkProgram ∷ (Ord ann, HasUnique name TermUnique, HasUnique tyname TypeUnique, AsUniqueError e ann, MonadError e m) ⇒ (UniqueError ann → Bool) → Program tyname name uni fun ann → m () Source #

checkTerm ∷ (Ord ann, HasUnique name TermUnique, HasUnique tyname TypeUnique, AsUniqueError e ann, MonadError e m) ⇒ (UniqueError ann → Bool) → Term tyname name uni fun ann → m () Source #

data UniqueError ann Source #

Constructors

MultiplyDefined !Unique !ann !ann 
IncoherentUsage !Unique !ann !ann 
FreeVariable !Unique !ann 

Instances

Instances details
Functor UniqueError 
Instance details

Defined in PlutusCore.Error

Methods

fmap ∷ (a → b) → UniqueError a → UniqueError b Source #

(<$) ∷ a → UniqueError b → UniqueError a Source #

Exception (UniqueError SrcSpan) 
Instance details

Defined in PlutusCore.Error

Generic (UniqueError ann) 
Instance details

Defined in PlutusCore.Error

Associated Types

type Rep (UniqueError ann) ∷ TypeType Source #

Methods

fromUniqueError ann → Rep (UniqueError ann) x Source #

toRep (UniqueError ann) x → UniqueError ann Source #

Show ann ⇒ Show (UniqueError ann) 
Instance details

Defined in PlutusCore.Error

NFData ann ⇒ NFData (UniqueError ann) 
Instance details

Defined in PlutusCore.Error

Methods

rnfUniqueError ann → () Source #

Eq ann ⇒ Eq (UniqueError ann) 
Instance details

Defined in PlutusCore.Error

Methods

(==)UniqueError ann → UniqueError ann → Bool Source #

(/=)UniqueError ann → UniqueError ann → Bool Source #

Pretty ann ⇒ Pretty (UniqueError ann) 
Instance details

Defined in PlutusCore.Error

Methods

prettyUniqueError ann → Doc ann0 Source #

prettyList ∷ [UniqueError ann] → Doc ann0 Source #

AsUniqueError (UniqueError ann) ann 
Instance details

Defined in PlutusCore.Error

Methods

_UniqueError ∷ Prism' (UniqueError ann) (UniqueError ann) Source #

_MultiplyDefined ∷ Prism' (UniqueError ann) (Unique, ann, ann) Source #

_IncoherentUsage ∷ Prism' (UniqueError ann) (Unique, ann, ann) Source #

_FreeVariable ∷ Prism' (UniqueError ann) (Unique, ann) Source #

type Rep (UniqueError ann) 
Instance details

Defined in PlutusCore.Error

class AsUniqueError r ann | r → ann where Source #

Minimal complete definition

_UniqueError

Methods

_UniqueError ∷ Prism' r (UniqueError ann) Source #

_MultiplyDefined ∷ Prism' r (Unique, ann, ann) Source #

_IncoherentUsage ∷ Prism' r (Unique, ann, ann) Source #

_FreeVariable ∷ Prism' r (Unique, ann) Source #

Instances

Instances details
AsUniqueError (UniqueError ann) ann 
Instance details

Defined in PlutusCore.Error

Methods

_UniqueError ∷ Prism' (UniqueError ann) (UniqueError ann) Source #

_MultiplyDefined ∷ Prism' (UniqueError ann) (Unique, ann, ann) Source #

_IncoherentUsage ∷ Prism' (UniqueError ann) (Unique, ann, ann) Source #

_FreeVariable ∷ Prism' (UniqueError ann) (Unique, ann) Source #

AsUniqueError (Error uni fun ann) ann 
Instance details

Defined in PlutusCore.Error

Methods

_UniqueError ∷ Prism' (Error uni fun ann) (UniqueError ann) Source #

_MultiplyDefined ∷ Prism' (Error uni fun ann) (Unique, ann, ann) Source #

_IncoherentUsage ∷ Prism' (Error uni fun ann) (Unique, ann, ann) Source #

_FreeVariable ∷ Prism' (Error uni fun ann) (Unique, ann) Source #

AsUniqueError (Error uni fun a) a Source # 
Instance details

Defined in PlutusIR.Error

Methods

_UniqueError ∷ Prism' (Error uni fun a) (UniqueError a) Source #

_MultiplyDefined ∷ Prism' (Error uni fun a) (Unique, a, a) Source #

_IncoherentUsage ∷ Prism' (Error uni fun a) (Unique, a, a) Source #

_FreeVariable ∷ Prism' (Error uni fun a) (Unique, a) Source #