diff options
-rw-r--r-- | hyperquirks.lisp | 5 | ||||
-rw-r--r-- | package.lisp | 1 |
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 |