[英]How does “multi-argument” functional composition work (e.g. fmap . fmap)?
当我们有表达式时:
(fmap . fmap) function nested_functor
我希望它会翻译成类似
fmap (fmap function nested_functor)
尽管它似乎表现出令人惊讶的行为
fmap (fmap function) nested_functor
为什么?
好吧,只看(.)
的定义:
(f . g) x = f (g x)
所以,
(fmap . fmap) function = fmap (fmap function)
最后添加一个额外的参数并不会真正改变方程式-只是使其更加具体。
(fmap . fmap) function nested_functor = fmap (fmap function) nested_functor
(NB函数应用程序保持关联,因此fxy
表示(fx) y
。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.