blob: 3c06f790f7f47d5cfb52dd736eaedec596adc77b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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)))
|