\DOC assoc \TYPE {Compat.assoc : ''a -> (''a * 'b) list -> ''a * 'b} \SYNOPSIS Searches a list of pairs for a pair whose first component equals a specified value. \KEYWORDS list. \DESCRIBE {assoc x [(x1,y1),...,(xn,yn)]} returns the first {(xi,yi)} in the list such that {xi} equals {x}. The lookup is done on an eqtype, i.e., the SML implementation must be able to decide equality for the type of {x}. \FAILURE Fails if no matching pair is found. This will always be the case if the list is empty. \EXAMPLE { - assoc 2 [(1,4),(3,2),(2,5),(2,6)]; (2, 5) : (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 rev_assoc, find, mem, tryfind, exists, forall. \ENDDOC