1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
(defun modify-checher (filename)
  (let ((last-update nil))
    (labels ((checher (stream)
               (let ((present (file-write-date stream)))
                 (unless (equal last-update present)
                   (print "modified!")
                   (setf last-update present)))))
      (with-open-file (stream filename :direction :input)
        (setf last-update (file-write-date stream))
        (loop do
             (sleep 5)
             (checher stream))))))