'fmap'和'flatMap'之间的区别,如果有的话

时间:2016-03-28 01:34:38

标签: javascript dictionary functor flatmap

到目前为止我找到的每个资源都会比较 map flatMap
那是不是我的意图。

在这个关于javascript函数式编程的YouTube视频中(特别是12:27左右),发言者展示了fmap Maybe仿函数的示例。到目前为止一切顺利。让我感到困惑的是mjoin以及发言人关于flatMap(不是fmap)仅仅是fmapmjoin的组合的评论。

这让我感到困惑,因为到目前为止我已经互换地使用了fmapflatMap这两个名字,虽然这个说法暗示它们不是一回事。

对于一个具体的问题,我想知道这是实现特定的,还是fmapflatMap实际上是两个不同的东西,在函数式编程的上下文中?如果它们不同,f中的fmap如果不平整则代表什么?

它仍然模糊不清,但首先想到的是flatMap将映射到一个仿函数,生成嵌套仿函数,然后将其展平为一个仿函数(或者至少一个级别) )。相反,fmap的函数参数将返回单个仿函数,不需要展平。

也许我很接近或离开了。 FP世界中的任何人都在关心?

上述视频。
https://www.youtube.com/watch?v=AvgwKjTPMmM

修改

如果它们不同,f中的fmap会转换为仿函数地图吗? 最好的猜测 虽然仿函数实现了map,但从技术上讲,每个map都会对某种类型的仿函数起作用 请。明确。朦胧。脑。

0 个答案:

没有答案