Сегодня я столкнулся с чем-то, что сбило меня с толку. Я пытался определить функцию, эквивалентную Data.Text.commonPrefixes
, который отбрасывает все, кроме префикса.
Следующие работы:
commonPrefix :: Text -> Text -> Maybe Text
commonPrefix a b = fmap firstTriple $ Text.commonPrefixes a b
firstTriple :: (a, b, c) -> a
firstTriple (a, _, _) = a
Я изначально пытался сделать это так, что не работает:
commonPrefix :: Text -> Text -> Maybe Text
commonPrefix = fmap firstTriple . Text.commonPrefixes
Есть ли способ определить эту функцию как композицию?
fmap (fmap firstTriple) . Text.commonPrefixes
тоже работает. Спасибо всем! - person Sean Clark Hess   schedule 01.06.2016