So if-let and when-let are not really anaphoric.
In Common Lisp, I use b-when and b-if that Kenny Tilton wrote:
(defmacro b-when (bindvar boundform &body body) `(let ((,bindvar ,boundform)) (when ,bindvar ,@body))) (defmacro b-if (bindvar boundform yup &optional nope) `(let ((,bindvar ,boundform)) (if ,bindvar ,yup ,nope)))
(b-when foo (plusp 1) (frob foo))
(bwhen (foo (plusp 1)) (frob foo))
So if-let and when-let are not really anaphoric.
In Common Lisp, I use b-when and b-if that Kenny Tilton wrote:
Usage: