Когда это может изменить тип функции?
Что именно происходит со следующим?
<code>> let test = map show > :t test test :: [()] -> [String] > :t (map show) (map show) :: Show a => [a] -> [String] </code>
Мне интересно, как я не заметил этого раньше? Я действительно столкнулся с проблемой с & quot; map fromIntegral & quot; вместо того, чтобы показывать - мой код не компилируется с формой pointfree, но работает нормально без сокращения eta.
Есть ли простое объяснение того, когда сокращение eta может изменить смысл кода на Haskell?