plutus-core-1.0.0.1: Language library for Plutus Core
Safe HaskellNone
LanguageHaskell2010

PlutusCore.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 #

checkType :: (Ord ann, HasUnique tyname TypeUnique, AsUniqueError e ann, MonadError e m) => (UniqueError ann -> Bool) -> Type tyname uni ann -> m () Source #

data UniqueError ann Source #

Constructors

MultiplyDefined Unique ann ann 
IncoherentUsage Unique ann ann 
FreeVariable Unique ann 

Instances

Instances details
Functor UniqueError Source # 
Instance details

Defined in PlutusCore.Error

Methods

fmap :: (a -> b) -> UniqueError a -> UniqueError b Source #

(<$) :: a -> UniqueError b -> UniqueError a Source #

Eq ann => Eq (UniqueError ann) Source # 
Instance details

Defined in PlutusCore.Error

Methods

(==) :: UniqueError ann -> UniqueError ann -> Bool Source #

(/=) :: UniqueError ann -> UniqueError ann -> Bool Source #

Show ann => Show (UniqueError ann) Source # 
Instance details

Defined in PlutusCore.Error

Generic (UniqueError ann) Source # 
Instance details

Defined in PlutusCore.Error

Associated Types

type Rep (UniqueError ann) :: Type -> Type Source #

Methods

from :: UniqueError ann -> Rep (UniqueError ann) x Source #

to :: Rep (UniqueError ann) x -> UniqueError ann Source #

NFData ann => NFData (UniqueError ann) Source # 
Instance details

Defined in PlutusCore.Error

Methods

rnf :: UniqueError ann -> () Source #

Pretty ann => Pretty (UniqueError ann) Source # 
Instance details

Defined in PlutusCore.Error

Methods

pretty :: UniqueError ann -> Doc ann0 #

prettyList :: [UniqueError ann] -> Doc ann0 #

HasErrorCode (UniqueError _a) Source # 
Instance details

Defined in PlutusCore.Error

AsUniqueError (UniqueError ann) ann Source # 
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) Source # 
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 Source # 
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 Source # 
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 #