Macro to repeatedly insert into a bitset.
Example:
(bitset-insert a (bitset-insert b (bitset-insert c X)))
This is much like the list* macro for constructing lists. See also bitset-list for a list-like version.
NOTE: This is not very efficient. Inserting N elements into a set will require N calls of bitset-insert.
Function:
(defun bitset-list*-macro (lst) (declare (xargs :guard (and (true-listp lst) (consp lst)))) (if (atom (cdr lst)) (car lst) (list 'bitset-insert (car lst) (bitset-list*-macro (cdr lst)))))