plutus-core
Safe HaskellNone
LanguageHaskell2010

PlutusCore.Check.Uniques

Documentation

checkProgram :: forall ann name tyname m (uni :: Type -> Type) fun. (Ord ann, HasUnique name TermUnique, HasUnique tyname TypeUnique, MonadError (UniqueError ann) m) => (UniqueError ann -> Bool) -> Program tyname name uni fun ann -> m () Source #

checkTerm :: forall ann name tyname m (uni :: Type -> Type) fun. (Ord ann, HasUnique name TermUnique, HasUnique tyname TypeUnique, MonadError (UniqueError ann) 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 Source # 
Instance details

Defined in PlutusCore.Error

Methods

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

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

Exception (UniqueError SrcSpan) Source # 
Instance details

Defined in PlutusCore.Error

Generic (UniqueError ann) Source # 
Instance details

Defined in PlutusCore.Error

Methods

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

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

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

Defined in PlutusCore.Error

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

Defined in PlutusCore.Error

Methods

rnf :: UniqueError ann -> () 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 #

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

Defined in PlutusCore.Error

Methods

pretty :: UniqueError ann -> Doc ann0 #

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

type Rep (UniqueError ann) Source # 
Instance details

Defined in PlutusCore.Error