From 6b21f4de103f426645322d541c7a205616163b5c Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Fri, 13 May 2022 11:56:05 -0700 Subject: WITH-UNAPPLY: use LDIFF Signed-off-by: Sean Whitton --- src/combinator.lisp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/combinator.lisp b/src/combinator.lisp index b6d9811..da0594a 100644 --- a/src/combinator.lisp +++ b/src/combinator.lisp @@ -347,9 +347,8 @@ applies the elements of PROPAPPS appearing after :UNAPPLY. Analogously to how DEFPROPLIST/DEFPROPSPEC allow you to define a property which works by calling other properties, this combinator allows you to define an :UNAPPLY subroutine for a property which works by calling other properties." - (let* ((apply (loop for propapp in propapps - until (eql propapp :unapply) collect propapp)) - (unapply (member :unapply propapps)) + (let* ((unapply (member :unapply propapps)) + (apply (ldiff propapps unapply)) (apply-propapp (if (cdr apply) (apply #'eseqprops apply) (car apply))) (unapply-propapp (if (cddr unapply) -- cgit v1.2.3