“升力与地图几乎相同”是什么意思?

时间:2014-06-23 03:24:54

标签: scala map functional-programming lifting

Leonardo Borges写了一篇名为"Functional Composition With Monads, Kleislis and Functors"的优秀文章。

在其中他评论道:

  

马克向我指出,电梯与地图几乎相同,但论点相反。

这意味着:

val f = Functor[Option].lift(parts) compose make

可以重构为:

val g = make(_:Int).map(parts)

我的问题是,'电梯与地图差不多是什么意思?'

1 个答案:

答案 0 :(得分:3)

来自scalaz functor code

def map[A, B](fa: F[A])(f: A => B): F[B]

def lift[A, B](f: A => B): F[A] => F[B] = map(_)(f)

注意:电梯只是根据地图(反转参数)来定义

大多数人开始使用函数式编程时,会将map作为一个函数映射到一系列事物,但map通常是一个与仿函数相关的更抽象的概念。