Agda-2.6.0: A dependently typed functional programming language and proof assistant

Safe HaskellNone
LanguageHaskell2010

Agda.TypeChecking.Constraints

Synopsis

Documentation

catchConstraint :: Constraint -> TCM () -> TCM () Source #

Catches pattern violation errors and adds a constraint.

noConstraints :: TCM a -> TCM a Source #

Don't allow the argument to produce any blocking constraints.

newProblem :: TCM a -> TCM (ProblemId, a) Source #

Create a fresh problem for the given action.

ifNoConstraints :: TCM a -> (a -> TCM b) -> (ProblemId -> a -> TCM b) -> TCM b Source #

ifNoConstraints_ :: TCM () -> TCM a -> (ProblemId -> TCM a) -> TCM a Source #

guardConstraint :: Constraint -> TCM () -> TCM () Source #

guardConstraint c blocker tries to solve blocker first. If successful without constraints, it moves on to solve c, otherwise it adds a Guarded c cs constraint to the blocker-generated constraints cs.

whenConstraints :: TCM () -> TCM () -> TCM () Source #

wakeConstraints' :: (ProblemConstraint -> TCM Bool) -> TCM () Source #

Wake constraints matching the given predicate (and aren't instance constraints if isConsideringInstance).

wakeupConstraints :: MetaId -> TCM () Source #

Wake up the constraints depending on the given meta.

wakeupConstraints_ :: TCM () Source #

Wake up all constraints.

solveSomeAwakeConstraints :: (ProblemConstraint -> Bool) -> Bool -> TCM () Source #

Solve awake constraints matching the predicate. If the second argument is True solve constraints even if already isSolvingConstraints.