anchor.diff:    (template-truename generator (pathname name)))
   
   (defmethod template-truename ((generator file-system-generator) (name pathname))
  -  (dolist (root (root-directories generator))
  -    (when-bind truename (probe-file (merge-pathnames name root))
  -      (return-from template-truename truename)))
  -  (return-from template-truename nil))
  +  (aif (probe-file name)
  +       it
  +       (dolist (root (root-directories generator))
  +	 (when-bind truename (probe-file (merge-pathnames name root))
  +	   (return-from template-truename truename)))))
   
   (defmethod load-tal ((generator file-system-generator) (name string))
     (load-tal generator (pathname name)))
  
positive.code: (defmethod load-tal ((generator file-system-generator) (name pathname))
    (let ((file-name (template-truename generator name)))
      (assert file-name (name) "No template named ~S found." name)
      (unless (gethash file-name *tal-templates*)
        (setf (gethash file-name *tal-templates*)
  	    (make-tal-template :last-load-time 0
  			       :function nil
  			       :file-name file-name)))
      (lambda (environment generator)
        (let ((template (gethash file-name *tal-templates*))
  	    (file-write-date (file-write-date file-name)))
  	(when (or (not (cachep generator))
  		  (< (tal-template.last-load-time template) file-write-date))
  	  (setf
  	   (tal-template.function template)
  	   (compile nil (preprocess-tal generator file-name))
  
  	   (tal-template.last-load-time template) file-write-date))
  	(funcall (tal-template.function template) environment generator)))))
  
  (defmethod preprocess-tal ((generator file-system-generator) (file-name string))
    (preprocess-tal generator (pathname file-name)))
  
  (defmethod preprocess-tal ((generator file-system-generator) (name pathname))
    (with-tal-compilation-unit name
      (compile-tal-string-to-lambda (read-tal-file-into-string name))))
  
  ;; Copyright (c) 2002-2005, Edward Marco Baringer
  ;; All rights reserved.
  
negative.code: 
  (defclass tal-generator () ())
  
  (defgeneric load-tal (generator name))
  
  (defgeneric template-truename (generator name))
  
  
  (defclass file-system-generator (tal-generator)
    ((root-directories :initarg :root-directories :type list
  		     :accessor root-directories)))
  
  (defclass caching-file-system-generator (file-system-generator)
    ((cache :accessor cache :initform (make-hash-table :test 'equal))))
  
  (defmethod shared-initialize :after ((fsg file-system-generator)
  				     slot-names
  				     &key cachep &allow-other-keys)
    (when cachep
      (setf (cache fsg) (make-hash-table :test 'equal))))
  
  
  (defparameter *tal-templates* (make-hash-table :test 'equal))
  
  