Safe Haskell | Safe-Infered |
---|
- catchConstraint :: Constraint -> TCM () -> TCM ()
- addConstraint :: Constraint -> TCM ()
- noConstraints :: TCM a -> TCM a
- newProblem :: TCM a -> TCM (ProblemId, a)
- newProblem_ :: TCM () -> TCM ProblemId
- ifNoConstraints :: TCM a -> (a -> TCM b) -> (ProblemId -> a -> TCM b) -> TCM b
- ifNoConstraints_ :: TCM () -> TCM a -> (ProblemId -> TCM a) -> TCM a
- guardConstraint :: Constraint -> TCM () -> TCM ()
- whenConstraints :: TCM () -> TCM () -> TCM ()
- wakeupConstraints :: MetaId -> TCM ()
- wakeupConstraints_ :: TCM ()
- solveAwakeConstraints :: TCM ()
- solveConstraint :: Constraint -> TCM ()
- solveConstraint_ :: Constraint -> TCM ()
- localState :: MonadState s m => m a -> m a
Documentation
catchConstraint :: Constraint -> TCM () -> TCM ()Source
Catches pattern violation errors and adds a constraint.
addConstraint :: Constraint -> TCM ()Source
noConstraints :: TCM a -> TCM aSource
Don't allow the argument to produce any constraints.
newProblem :: TCM a -> TCM (ProblemId, a)Source
Create a fresh problem for the given action.
guardConstraint :: Constraint -> TCM () -> TCM ()Source
guardConstraint cs c
tries to solve constraints cs
first.
If successful, it moves on to solve c
, otherwise it returns
a Guarded c cs
.
wakeupConstraints :: MetaId -> TCM ()Source
Wake up the constraints depending on the given meta.
wakeupConstraints_ :: TCM ()Source
Wake up all constraints.
solveConstraint :: Constraint -> TCM ()Source
solveConstraint_ :: Constraint -> TCM ()Source
localState :: MonadState s m => m a -> m aSource