diff options
author | colin <colin@cicadas.surf> | 2023-07-09 14:29:14 -0700 |
---|---|---|
committer | colin <colin@cicadas.surf> | 2023-07-09 14:29:14 -0700 |
commit | 92de957629171c6ba130c9e6f991aa1b0e5a7931 (patch) | |
tree | 5e40a447773f510a709f4160fe9fc007106a45c7 | |
parent | 704d96bb21ba1aaadb18d6c7b12fbd6da8554174 (diff) |
added ?>> form
-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 |