1
(head . map f) xs = (f . head) xs
Он работает для каждого списка xs, когда f строго. Может ли кто-нибудь дать мне пример, почему с нестрогим f он не работает?Сопоставление строгой и ленивой функции
(head . map f) xs = (f . head) xs
Он работает для каждого списка xs, когда f строго. Может ли кто-нибудь дать мне пример, почему с нестрогим f он не работает?Сопоставление строгой и ленивой функции
Возьмем нестандартную функцию f = const()
и xs = undefined
. В этом случае мы имеем
map f undefined = undefined
но
f undefined =()
и так
(head . map f) undefined = head (map f undefined) = head undefined = undefined
но
(f . head) undefined = f (head undefined) = f undefined =()
что и требовалось доказать
Откуда у вас был этот вопрос? – dfeuer
Я готовлюсь к экзамену, и это вопрос, который был на предыдущем – beja