Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

assoc

Lib.assoc : ''a -> (''a * 'b) list -> 'b

Searches a list of pairs for a pair whose first component equals a specified value, then returns the second component of the pair.

assoc x [(x1,y1),...,(xn,yn)] locates the first (xi,yi) in a left-to-right scan of the list such that xi equals x. Then yi is returned. 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 = 5: int

See also

Lib.assoc1, Lib.assoc2, Lib.rev_assoc, Lib.mem, Lib.tryfind, Lib.exists, Lib.all