anchor.diff:  ;;; null and boolean
   
   (define-rule null "null" (:constant :nil))
  -(define-rule all "all" (:constant :all))
  -
   (define-rule true "true" (:constant :t))
   (define-rule false "false" (:constant :nil))
   (define-rule boolean (or true false))
   
   ;;; literal
   
  -(define-rule expression-literal (or number null boolean all string))
  +(define-rule expression-literal (or number null boolean  string))
   
   ;;; variable
   
  
positive.code:   (:lambda (list)
      (second list)))
  
  (define-rule call-data (and whitespace "data=\"" expression "\"")
    (:destructure (w1 d expr q)
      (declare (ignore w1 d q))
      expr))
  
  (define-rule template-name (and alpha-char (*  (or alphanumeric #\_ #\-)))
    (:destructure (first rest)
  
negative.code: 
  (defun closure-template-parse (symbol text)
    (with-closure-template-rules
      (esrap:parse symbol text)))
  
  (defun parse-expression (text)
    (closure-template-parse 'expression text))
  