P96

(de identifier (Str)
   (and
      (>= "z" (lowc (car (setq Str (chop Str)))) "a")
      (not
         (find
            '((C)
               (nor
                  (= "_" C)
                  (>= "9" C "0")
                  (>= "z" (lowc C) "a") ) )
            (cdr Str) ) ) ) )

http://picolisp.com/wiki/?99p96

13jul10    abu