Retrieving Alist Entries

assq, assv and assoc find the entry in an alist for a given key, and return the (key . value) pair. assq-ref, assv-ref and assoc-ref do a similar lookup, but return just the value.

Scheme Procedure: assq key alist
Scheme Procedure: assv key alist
Scheme Procedure: assoc key alist
C Function: scm_assq (key, alist)
C Function: scm_assv (key, alist)
C Function: scm_assoc (key, alist)

Return the first entry in alist with the given key. The return is the pair (KEY . VALUE) from alist. If there’s no matching entry the return is #f.

assq compares keys with eq?, assv uses eqv? and assoc uses equal?. See also SRFI-1 which has an extended assoc (Association Lists).

Scheme Procedure: assq-ref alist key
Scheme Procedure: assv-ref alist key
Scheme Procedure: assoc-ref alist key
C Function: scm_assq_ref (alist, key)
C Function: scm_assv_ref (alist, key)
C Function: scm_assoc_ref (alist, key)

Return the value from the first entry in alist with the given key, or #f if there’s no such entry.

assq-ref compares keys with eq?, assv-ref uses eqv? and assoc-ref uses equal?.

Notice these functions have the key argument last, like other -ref functions, but this is opposite to what assq etc above use.

When the return is #f it can be either key not found, or an entry which happens to have value #f in the cdr. Use assq etc above if you need to differentiate these cases.