Мне нужно написать модуль для запуска на GHCi с функциональной композицией для той же функции. Это (классический fog(x) = f(g(x))
) работает:
(.) f g = (\x -> f (g x)).
Проблема появляется, когда я пытаюсь написать это так
(.) f f = (\x -> f (f x)). (fof(x) = f(f(x)))
GHCI говорит:
"Conflicting definitions for `f'
Bound at: Lab1.hs:27:9
Lab1.hs:27:12"
Строка 27:9 появляется в первый раз, когда f, а строка 27:12 снова появляется f.
Почему Haskell не понимает (.) f f = (\x -> f (f x))
?
twice f = \x -> f (f x)
? - person Tom Ellis   schedule 30.01.2015