anchor.diff:                                  + linkText + '</a></div>');
   }
   "
  -;;; In order to have a complete web application framework available in
  -;;; Lisp, ParenScript also provides a sexp-based syntax for CSS
  -;;; stylesheets. Thus, a complete web application featuring HTML, CSS
  -;;; and JavaScript documents can be generated using Lisp syntax,
  -;;; allowing the programmer to use Lisp macros to factor out the
  -;;; redundancies and complexities of Web syntax. For example, to
  -;;; generate a CSS inline node in a HTML document using the
  -;;; AllegroServe HTMLGEN library:
  -
  -(html-stream *standard-output*
  -  (html
  -   (:html
  -    (:head
  -     (css (* :border "1px solid black")
  -          (div.bl0rg :font-family "serif")
  -          (("a:active" "a:hoover") :color "black" :size "200%"))))))
  -
  -;; which produces
  -
  -<html><head><style type="text/css">
  -<!--
  -* {
  -   border:1px solid black;
  -}
  -
  -div.bl0rg {
  -   font-family:serif;
  -}
  -
  -a:active,a:hoover {
  -   color:black;
  -   size:200%;
  -}
  -
  --->
  -</style>
  -</head>
  -</html>
  
positive.code: { foo : 'foo',
    bla : 'bla' }
  "
  ;;; ParenScript features a HTML generator. Using the same syntax as
  ;;; the HTMLGEN package of Franz, Inc., it can generate JavaScript
  ;;; string expressions. This allows for a clean integration of HTML in
  ;;; ParenScript code, instead of writing the tedious and error-prone
  ;;; string generation code generally found in JavaScript.
  
  (ps
  
negative.code: (in-package :ps)
  
  ;;; Introduction
  ;;;
  ;;; Parenscript is a language that looks a lot like Common Lisp, but
  ;;; is JavaScript in disguise. This way, JavaScript programs can be
  ;;; seamlessly integrated in a Lisp web application. The programmer
  ;;; doesn't have to resort to a different syntax, and JavaScript code
  ;;; can easily be generated without having to resort to complicated
  ;;; string generation or `FORMAT' expressions.
  ;;;
  ;;; The following Lisp expression is a call to the Parenscript
  ;;; translator Parenscript transforms the expression in Parenscript
  ;;; into an equivalent, human-readable expression in JavaScript.
  
  (ps
    (defun foobar (a b)
      (+ a b)))
  
  ;;; The resulting javascript is:
  
  "
  function foobar(a, b) {
    return a + b;
  }
  "
  
  ;;; Great care has been given to the indentation and overall
  ;;; readability of the generated JavaScript code.
  
  ;;; Features
  ;;;
  ;;; Parenscript supports all the statements and expressions defined by
  ;;; the EcmaScript 262 standard. Lisp symbols are converted to
  ;;; camelcase, javascript-compliant syntax. This idea is taken from
  ;;; Linj by Antonio Menezes Leitao. Case sensitivity (using the
  ;;; :invert readtable-case option) is supported. Here are a few
  ;;; examples of Lisp symbol to JavaScript name conversion:
  
  (ps foobar)      => "foobar"
  (ps foo-bar)     => "fooBar"
  (ps foo-b@r)     => "fooBatr"
  (ps *array)      => "Array"
  (ps FooBar)      => "FooBar"
  
  ;;; Parenscript supports a subset of Common Lisp iteration constructs.
  ;;; `for' loops can be written using the customary `DO*' syntax.
  
  (ps
  