
Raymond Toy pushed to branch issue-240-add-hashtable-for-destructive-set-ops at cmucl / cmucl Commits: 0d14e908 by Raymond Toy at 2023-08-22T07:19:14-07:00 Block compile destructive ops too And remove old commented-out code. - - - - - 1 changed file: - src/code/list.lisp Changes: ===================================== src/code/list.lisp ===================================== @@ -852,8 +852,6 @@ (push item res))) res))))) -(declaim (end-block)) - ;;; Destination and source are setf-able and many-evaluable. Sets the source ;;; to the cdr, and "conses" the 1st elt of source to destination. ;;; @@ -905,11 +903,6 @@ (process (nth-value 1 (gethash (apply-key key (car list1)) hashtable)))) (t (process (with-set-keys (member (apply-key key (car list1)) list2))))) - #+nil - (do () ((endp list1)) - (if (with-set-keys (member (apply-key key (car list1)) list2)) - (steve-splice list1 res) - (setq list1 (Cdr list1)))) res))) (defun nset-difference (list1 list2 &key key @@ -931,13 +924,10 @@ (process (nth-value 1 (gethash (apply-key key (car list1)) hashtable)))) (t (process (with-set-keys (member (apply-key key (car list1)) list2))))) - #+nil - (do () ((endp list1)) - (if (not (with-set-keys (member (apply-key key (car list1)) list2))) - (steve-splice list1 res) - (setq list1 (cdr list1)))) res))) +(declaim (end-block)) + (defun set-exclusive-or (list1 list2 &key key (test #'eql testp) (test-not nil notp)) "Return new list of elements appearing exactly once in LIST1 and LIST2." View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/0d14e90845074a14424fec7b... -- View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/0d14e90845074a14424fec7b... You're receiving this email because of your account on gitlab.common-lisp.net.