Plan 9 from Bell Labs’s /usr/web/sources/contrib/fernan/nhc98/src/prelude/List/ElemIndexBy.hs
module List where elemIndexBy :: (a -> a -> Bool) -> [a] -> a -> Int elemIndexBy eq [] x = error "List.elemIndexBy: empty list" elemIndexBy eq (x:xs) x' = if x `eq` x' then 0 else 1 + elemIndexBy eq xs x'