Documentation
class Monad solver => Solver solver whereSource
add :: Constraint solver -> solver BoolSource
add a constraint to the current state, and return whethe the resulting state is consistent
run a computation
mark :: solver (Label solver)Source
mark the current state, and return its label
goto :: Label solver -> solver ()Source
go to the state with given label