rev_assoc.doc

advertisement
\DOC rev_assoc
\TYPE {Compat.rev_assoc : ''a -> ('b * ''a) list -> ('b * ''a)}
\SYNOPSIS
Searches a list of pairs for a pair whose second component equals a
specified
value.
\KEYWORDS
list.
\DESCRIBE
{rev_assoc y [(x1,y1),...,(xn,yn)]} returns the first {(xi,yi)} in the
list
such that {yi} equals {y}. The lookup is done on an eqtype, i.e., the SML
implementation must be able to decide equality for the type of {y}.
\FAILURE
Fails if no matching pair is found. This will always be the case if the
list
is empty.
\EXAMPLE
{
- rev_assoc 2 [(1,4),(3,2),(2,5),(2,6)];
(3, 2) : (int * int)
}
\COMMENTS
Not found in hol90, since we use an option type instead of exceptions.
assoc1;
val it = fn : ''a -> (''a * 'b) list -> (''a * 'b) option
- assoc2;
val it = fn : ''a -> ('b * ''a) list -> ('b * ''a) option
\SEEALSO
assoc, find, mem, tryfind, exists, forall.
\ENDDOC
Download