谁能解释这个Haskell函数?

s o*_*s o 8 haskell

Haskell函数

foo = zipWith ($) . repeat
Run Code Online (Sandbox Code Playgroud)

与...完全相同

map
Run Code Online (Sandbox Code Playgroud)

但我不明白为什么:-(谁可以给出解释?很多!

Mat*_*hid 14

好的,我们有

foo = zipWith ($) . repeat
Run Code Online (Sandbox Code Playgroud)

这是一样的

foo f = zipWith ($) (repeat f)
Run Code Online (Sandbox Code Playgroud)

repeat f生成的副本,无限名单f.然后zipWith使用($)运算符将[无限副本f]列表的每个元素应用于传入列表的每个元素.这是做什么的map.

是?