В Python у нас есть встроенный пакет с именем «operator», с помощью которого мы можем использовать функциональную версию любого оператора. Он широко используется при использовании функций «функционального программирования», таких как карта и уменьшение, и рекомендуется гораздо лучше, чем при использовании «лямбда».Что такое эквивалентная функция «::» в Haskell?
У меня такая же проблема в Haskell: Я хочу, чтобы т пользователя mapM где-то с композицией многих функций, но я должен использовать не так довольно лямбда:
mapM ((\x->x::String).fromSql.(!!1)) res
Есть ли эквивалент этой Лик это:
mapM (someFunc(String).fromSql.(!!1)) res
В «GHC 8.0» можно сделать «id @String»: https://ghc.haskell.org/trac/ghc/wiki/TypeApplication –
'mapM (asTypeOf" ".fromSql. (!! 1)) res' - если у вас нет 'XOverloadedStrings'. – Michael
Вы уверены, что 'mapM (fromSql. (!! 1)) res' недостаточно, или 'mapM ((fromSql. (!! 1)) :: a -> String) res'? – chepner