2016-08-29 65 views
1
(head . map f) xs = (f . head) xs 

当f严格时,它适用于每个xs列表。 任何人都可以给我例子,为什么非严格的f它不工作?映射严格与懒惰函数

+0

你从哪里得到这个问题? – dfeuer

+0

我正在准备参加考试,这是前一个考试的问题 – beja

回答

4

我们来看看非严格函数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 =() 

证明完毕