CurryInfo: setfunctions-3.0.0 / Control.SetFunctions.select

definition:
 
select :: Values a -> (a, Values a)
#ifdef __KICS2__
select (Values (x:xs)) = (x, Values xs)
demand:
 argument 1
deterministic:
 deterministic operation
documentation:
 
Selects (indeterministically) some value in a multiset of values
and returns the selected value and the remaining multiset of values.
Thus, `select` has always at most one value, i.e., it is
a deterministic operation.
It fails if the value set is empty.

**NOTE:**
The usage of this operation is only safe (i.e., does not destroy
completeness) if all values in the argument set are identical.
failfree:
 <FAILING>
indeterministic:
 referentially transparent operation
infix:
 no fixity defined
iotype:
 {({Values}) |-> {(,)}}
name:
 select
precedence:
 no precedence defined
result-values:
 {(,)}
signature:
 Values a -> (a, Values a)
solution-complete:
 operation might suspend on free variables
terminating:
 yes
totally-defined:
 possibly non-reducible on same data term