Arc Cross Reference


[macro] aand args ...

(mac aand args
  (if (no args)
      (no (cdr args))
       (car args)
      `(let it ,(car args) (and it (aand ,@(cdr args))))))

A version of "and" where successive forms can reference previous values through "it":

arc> (aand (+ 1 4) (+ it 10))


In Scheme, scheme:and-let* (srfi-2) is the popular idiom for this purpose, though you have to provide the binding variable.