Lisp Version of Findpath
(defun findpath (dirtree path) (if (null dirtree) nil ; file not found (if (consp (first dirtree)) ; directory? (if (eq (first path) ; dir name == (first (first dirtree))) (findpath ; yes: go in (rest (first dirtree)) ; dir contents (rest path)) ; pop path (findpath ; no: keep (rest dirtree) ; looking path)) (if (eq (first path) ; file name == (first dirtree)) (first path) ; yes: success (findpath ; no: keep (rest dirtree) ; looking path)) ) ) )