chickadee » srfi-1 » lset-diff+intersection

lset-diff+intersection = list_1 list_2 ...procedure

Returns two values -- the difference and the intersection of the lists. Is equivalent to

(values (lset-difference = LIST_1 LIST_2 ...)
        (lset-intersection = LIST_1
                             (lset-union = LIST_2 ...)))

but can be implemented more efficiently.

The = procedure's first argument is an element of LIST_1; its second is an element of one of the other LIST_I.

Either of the answer lists may share a common tail with LIST_1. This operation essentially partitions LIST_1.