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

UntypedPlutusCore.Check.Uniques

Documentation

checkProgram :: (Ord ann, HasUnique name TermUnique, MonadError (UniqueError ann) m) => (UniqueError ann -> Bool) -> Program name uni fun ann -> m () #

checkTerm :: (Ord ann, HasUnique name TermUnique, MonadError (UniqueError ann) m) => (UniqueError ann -> Bool) -> Term name uni fun ann -> m () #

data UniqueError ann #

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 #

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

Exception (UniqueError SrcSpan) # 
Instance details

Defined in PlutusCore.Error

Generic (UniqueError ann) # 
Instance details

Defined in PlutusCore.Error

Associated Types

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

Methods

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

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

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

Defined in PlutusCore.Error

Methods

showsPrec :: Int -> UniqueError ann -> ShowS #

show :: UniqueError ann -> String #

showList :: [UniqueError ann] -> ShowS #

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

Defined in PlutusCore.Error

Methods

rnf :: UniqueError ann -> () #

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

Defined in PlutusCore.Error

Methods

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

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

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

Defined in PlutusCore.Error

Methods

pretty :: UniqueError ann -> Doc ann0 #

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

type Rep (UniqueError ann) # 
Instance details

Defined in PlutusCore.Error