Существует стандартная функция tryPick, если F #, которая возвращает первое (слева направо, если вообще) успешное применение функции на элементе список. Я прыгаю, есть такая стандартная функция, как в Haskell. я попробовал Hoogle и ничего не нашел.
Я новичок в Haskell, и я не уверен, какой правильный способ это сделать. Вы сделали бы это так:
tryPick:: (a -> Maybe b) -> [a] -> Maybe b
tryPick try xs = case Maybe.mapMaybe try xs of
[] -> Nothing
(x:_) -> Just x
?