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

PlutusCore.Generators.QuickCheck.Unification

Synopsis

Documentation

unificationFailure ∷ (MonadError String m, Pretty a, Pretty b) ⇒ a → b → m any Source #

resolutionFailure ∷ MonadError String m ⇒ TyNameType TyName DefaultUni () → String → m any Source #

unifyType Source #

Arguments

TypeCtx

Type context

→ Set TyName

flex, the flexible variables (those that can be unified)

Type TyName DefaultUni ()
t1
Type TyName DefaultUni ()
t2
Either String TypeSub

Either an error or a substitution (from a subset of flex) unifying t1 and t2

Perform unification. Sound but not complete.