Library with operations to encapsulate search, i.e., nondeterministic computations, as I/O operations in order to make the results dependend on the external world, e.g., the schedule for nondeterminism.
To encapsulate search in nonI/O computations, one can use
set functions (see module Control.Search.SetFunctions
.
Author: Michael Hanus
Version: October 2023
getAllValues
:: a > IO [a]
Gets all values of an expression (similarly to Prolog's findall ).

getOneValue
:: a > IO (Maybe a)
Gets one value of an expression. 
getAllFailures
:: a > (a > Bool) > IO [a]
Returns a list of values that do not satisfy a given constraint. 
Gets all values of an expression (similarly to Prolog's 
Gets one value of an expression. Returns 
Returns a list of values that do not satisfy a given constraint.
