\DOC assoc \TYPE {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)]; > val it = (2, 5) : (int * int) } \SEEALSO Lib.assoc1, Lib.assoc2, Lib.rev_assoc, Lib.find, Lib.mem, Lib.tryfind, Lib.exists, Lib.all. \ENDDOC