From 501dfc88435354a8fbb12cd8aaccddf9615dc5ff Mon Sep 17 00:00:00 2001 From: colin Date: Tue, 28 Feb 2023 20:36:19 -0800 Subject: added rev --- hofs.lisp | 9 +++++++++ package.lisp | 1 + 2 files changed, 10 insertions(+) diff --git a/hofs.lisp b/hofs.lisp index 7f7afce..e8bdbc4 100644 --- a/hofs.lisp +++ b/hofs.lisp @@ -27,3 +27,12 @@ returning a list of return values." (lambda (&rest args) (loop :for fn :in (cons fn1 fns) :collect (apply fn args)))) + + +(defun rev (fn) + "Return a function that applies its arguments to FN in reverse order. + +E.g. (funcall (rev #'cons) 1 2) ;; (2 . 1)" + (lambda (&rest args) + (apply fn (reverse args)))) + diff --git a/package.lisp b/package.lisp index 45c1374..280a253 100644 --- a/package.lisp +++ b/package.lisp @@ -4,5 +4,6 @@ (:use #:cl) (:export #:closure #:mapped + #:rev #:lambda-if #:lambda-cond)) -- cgit v1.2.3