anaphora.lisp: Export symbols near their definitions.
authorMark Wooding <mdw@distorted.org.uk>
Wed, 21 Oct 2015 23:46:28 +0000 (00:46 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Thu, 22 Oct 2015 00:21:57 +0000 (01:21 +0100)
anaphora.lisp

index 9e7d820..3fd69c5 100644 (file)
 ;;; Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
 (defpackage #:anaphora
-  (:use #:common-lisp)
-  (:export #:it
-          #:aif #:aif2 #:awhen #:awhen2
-          #:aand #:awhile #:asetf #:acond))
+  (:use #:common-lisp))
 (in-package #:anaphora)
 
+(export 'it)
+
+(export 'aif)
 (defmacro aif (cond then &optional else)
   "Bind `it' to result of COND when evaluating THEN or ELSE."
   `(let ((it ,cond))
      (if it ,then ,@(and else (list else)))))
 
+(export 'aif2)
 (defmacro aif2 (cond then &optional else)
   "Bind `it' to first value of COND; switch on second."
   (let ((tmp (gensym)))
        (declare (ignorable it))
        (if ,tmp ,then ,@(and else (list else))))))
 
+(export 'awhen)
 (defmacro awhen (cond &body body)
   "Bind `it' to result of COND when evaluating BODY."
   `(let ((it ,cond))
      (when it ,@body)))
 
+(export 'awhen2)
 (defmacro awhen2 (cond &body body)
   "Bind `it' to first value of COND; switch on second."
   (let ((tmp (gensym)))
@@ -54,6 +57,7 @@
        (declare (ignorable it))
        (when ,tmp ,@body))))
 
+(export 'aand)
 (defmacro aand (&rest things)
   "Like `and', with `it' bound to previous value."
   (labels ((foo (things)
@@ -65,6 +69,7 @@
        (foo things)
        t)))
 
+(export 'awhile)
 (defmacro awhile (cond &body body)
   "Like `while', with `it' bound to value of COND in BODY."
   `(loop
@@ -72,6 +77,7 @@
        (unless it (return))
        ,@body)))
 
+(export 'asetf)
 (defmacro asetf (&rest pairs &environment env)
   "Set PLACE to value of FORM; in FORM, `it' is bound to current value of
    PLACE."
@@ -90,6 +96,7 @@
                       (foo rest))))))
     (cons 'progn (foo pairs))))
 
+(export 'acond)
 (defmacro acond (&rest clauses)
   "Like `cond', but in each clause the consequent has `it' bound to the value
    of its guard."