1
2
3
4
5
6
7
8
9
10
11
12
13
(define (find-index x lst)
(cond
((member x lst) =>
(lambda (tail)
(let loop ((l lst) (i 0))
(if (eq? l tail)
i
(loop (cdr l) (+ i 1))))))
(else #f)))
(find-index 'b '(a b c d)) ;; => 1
(find-index 'd '(a b c d)) ;; => 3
(find-index 'z '(a b c d)) ;; => #f