(define list-index
(lambda (s los)
(if (null? los)
-1
(list-index# s los 0))))
(define list-index#
(lambda (s los pos)
(if (null? los)
-1
(if (eq? (car los) s)
pos
(list-index# s (cdr los) (+ 1 pos))))))
(define ribassoc
(lambda (s los v fail-value)
(if (= (list-index s los) -1)
fail-value
(vector-ref v (list-index s los)))))
(define R (ribassoc 'b '(a b c) '#(1 2 3) 'fail))
(define R2 (ribassoc 'c '(a b foo) '#(3 squiggle bar) 'fail))
               (
geocities.com/siliconvalley/way)                   (
geocities.com/siliconvalley)