首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >地图在应用范畴理论中的作用是什么?

地图在应用范畴理论中的作用是什么?
EN

Stack Overflow用户
提问于 2018-07-20 12:44:54
回答 1查看 120关注 0票数 0

给出以下关于函数式编程的说明--特别是关于范畴理论的推理-- 我们看到map函数在Applicative中。

代码语言:javascript
运行
复制
trait Applicative[F[_]] extends Functor[F] {
  def map2[A,B,C](fa: F[A], fb: F[B])(f: (A, B) => C): F[C] =
    apply(map(fa)(f.curried))(fb)
...

我的问题是:,应用范畴理论中的映射函数是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-20 12:50:45

它只在map2之后定义了几行,只使用applyunit

代码语言:javascript
运行
复制
def map[A,B](fa: F[A])(f: A => B): F[B] = apply(unit(f))(fa)

您可以将map的定义插入到map2中,从而获得仅依赖于applyunitmap2定义。

代码语言:javascript
运行
复制
def map2[X, Y, Z](x: F[X], y: F[Y])(f: (X, Y) => Z): F[Z] = 
  apply(apply(unit((x: X) => (y: Y) => f(x, y)))(x))(y)

因此,map不需要从applyunit定义map2,因为它本身可以从applyunit派生。

它的行为就像任何其他FunctorFunctor(因为每个Applicative都自动是一个Functor):给定一个F[A]和一个f: A => B,它会生成一个F[B]

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51442856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档