Я изучаю Haskell и начал замечать общие суффиксы в таких функциях, как:
debugM
mapM_
mapCE
который известен как венгерская нотация. Но в то же время я могу использовать классы типов для написания недвусмысленного кода, например:
show
return
Поскольку такие функции, как map
, являются настолько распространенными и используются во многих контекстах, почему бы не позволить контролеру типа выбрать правильную полиморфную версию map
, fmap
, mapM
, mapM_
или mapCE
?