summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcolin <colin@cicadas.surf>2023-07-09 14:29:14 -0700
committercolin <colin@cicadas.surf>2023-07-09 14:29:14 -0700
commit92de957629171c6ba130c9e6f991aa1b0e5a7931 (patch)
tree5e40a447773f510a709f4160fe9fc007106a45c7
parent704d96bb21ba1aaadb18d6c7b12fbd6da8554174 (diff)
added ?>> form
-rw-r--r--hyperquirks.lisp5
-rw-r--r--package.lisp1
2 files changed, 6 insertions, 0 deletions
diff --git a/hyperquirks.lisp b/hyperquirks.lisp
index 7b6da14..22537f2 100644
--- a/hyperquirks.lisp
+++ b/hyperquirks.lisp
@@ -227,6 +227,11 @@ E.g.
(defmacro >>> (initform &rest pipe-forms)
`(>> () ,initform ,@pipe-forms))
+(defmacro ?>> (initform &rest pipe-forms)
+ `(>> () ,initform ,@(loop :for form :in pipe-forms
+ :collect :?
+ :collect form)))
+
(defmacro binding-cond (&body clauses)
"Like cond except the first form of every clause is a binding form
alá IMPERATIVE.
diff --git a/package.lisp b/package.lisp
index 141b53e..5828ff0 100644
--- a/package.lisp
+++ b/package.lisp
@@ -7,6 +7,7 @@
#:with-env
#:>>
#:>>>
+ #:?>>
#:let+
#:imperative
#:binding-cond