(defun IndexOf(base_string search_string) (if (or (string= search_string "") (string= base_string "")) -1 (IndexOf1 base_string search_string 0) ) ) (defun IndexOf1(base_string search_string pos) (if (> pos (1- (length base_string))) -1 (if (string= (substring base_string pos (+ pos (length search_string))) search_string) pos (IndexOf1 base_string search_string (1+ pos)) ) ) ) (defun Reverse(s) (Reverse1 s "") ) (defun Reverse1(s rs) (if (string= s "") rs (Reverse1 (substring s 0 (1- (length s))) (concat rs (substring s (1- (length s)) (length s)))) ) )