LISP PROJECTS (20)
most recent version : 0.4.3 |release date : 2004-09-13

This code

  (with-html-output (*http-stream*)
    (loop for (link . title) in '(("http://zappa.com/" . "Frank Zappa")
                                  ("http://marcusmiller.com/" . "Marcus Miller")
                                  ("http://www.milesdavis.com/" . "Miles Davis"))
          do (htm (:a :href link
                    (:b (str title)))
                  :br)))

will be translated by CL-WHO into this code

  (let ((*http-stream* *http-stream*))
    (progn
      nil
      (loop for (link . title) in '(("http://zappa.com/" . "Frank Zappa")
                                    ("http://marcusmiller.com/" . "Marcus Miller")
                                    ("http://www.milesdavis.com/" . "Miles Davis"))
            do (progn
                 (write-string "<a href='" *http-stream*)
                 (princ link *http-stream*)
                 (write-string "'><b>" *http-stream*)
                 (princ title *http-stream*)
                 (write-string "</b></a><br />" *http-stream*)))))

at macro-expansion time. See the documentation for more examples.