From d25e5a1cdd2e934c8c21851aac93d9a30b8bb0cf Mon Sep 17 00:00:00 2001 From: Colin Okay Date: Sun, 13 Dec 2020 07:27:53 -0600 Subject: renaming --- functions.lisp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 functions.lisp (limited to 'functions.lisp') diff --git a/functions.lisp b/functions.lisp new file mode 100644 index 0000000..3c06f79 --- /dev/null +++ b/functions.lisp @@ -0,0 +1,28 @@ +;;;; lambda-tools.lisp + +(in-package #:lambda-riffs) + +(defun -> (arg &rest fns) + (dolist (fn fns arg) + (setf arg (funcall fn arg)))) + +(defun all> (arg &rest preds) + "Predicate Filter. Returns ARG if (PRED ARG) is non-NIL for each +PRED in PREDS" + (dolist (pred preds arg) + (unless (funcall pred arg) + (return-from all> nil)))) + + +(defun some> (arg &rest preds) + (dolist (pred preds nil) + (when (funcall pred arg) + (return-from some> arg)))) + + +(defun <> (&rest fns) + (lambda (arg) + (apply #'>> arg fns))) + + + -- cgit v1.2.3