chickadee » slset » slset-delete

slset-delete LIST SYM_1 ...procedure

Removes the SYM_i symbols occurring in the LIST parameter from the result list. If any such symbols occur more than once, those are all removed.

IMPORTANT: This is O(n+m) where n is the number of symbols in LIST and m the number of symbols to delete.

This is better than SRFI-1, but it does mean that if you delete symbols one by one (a typical situation), it is still O(n*m), just like delete in SRFI-1.

See reified-slsets below for slightly better deletion.

(slset-delete '(a b c d a c e) 'b) => (a c d a c e)
(slset-delete '(a b c d a c e) 'a 'e 'i) => '(b c d c)