Post AL1ulXCC4od25xpsVk by veer66@norze.world
(DIR) More posts by veer66@norze.world
(DIR) Post #AL1ulXCC4od25xpsVk by veer66@norze.world
2022-06-30T23:47:38.795820Z
0 likes, 0 repeats
Yesterday, I thought I will forget what I wrote next week. I’ve forgotten it already.(defun diff-snode-when-snode2-is-not-null (snode1 snode2) (let ((snode1* '())) (loop for r1 in snode1 do (let ((r1s (list r1))) (loop for r2 in snode2 do (let ((r1s* '())) (loop for r1* in r1s do (let ((r3s (diff-range r1* r2))) (loop for r in r3s do (setq r1s* (cons r r1s*))))) (setq r1s r1s*))) (setq snode1* (nconc snode1* r1s)))) (sort snode1* #'< :key #'(lambda (r) (cdr (assoc :s r))))))
(DIR) Post #AL2KJesz9mcnVCXUUi by veer66@norze.world
2022-07-01T04:33:56.156469Z
0 likes, 0 repeats
After refactoring,(defun diff-snode-by-range (snode r) (loop for r1* in snode nconc (diff-range r1* r)))(defun diff-range-by-snode (r snode) (reduce #'diff-snode-by-range snode :initial-value (list r)))(defun diff-snode-when-snode2-is-not-null (snode1 snode2) (sort (loop for r1 in snode1 nconc (diff-range-by-snode r1 snode2)) #'< :key #'(lambda (r) (cdr (assoc :s r)))))