kb 17.10.2012 13:40 04a3831c

Ну, то есть, чтоб быть более конкретным. Вот этот код поиска по ключу в списке вида [("key1", "val1"), ("key2", "val2")]

findKey :: (Eq k) => k → [(k,v)] → Maybe v
findKey key = foldr (\(k,v) acc → if key == k then Just v else acc) Nothing

Будет работать эффективно (если вы будете делать findKey key1, то вычислится только нужный кусок и работать будет мгновенно).

p.s.: спасибо SICP :)

Do you really want to delete ?