8

我在猫文档中阅读了关于类型类ApplyApplicative. 我想知道为什么该库提供两个单独的类型类而不是一个类型类Applicative,它会扩展Functor和添加ap?有人用Apply那不是Applicative吗?

4

1 回答 1

12

Applicative提供了pure方法,这是一种“进入”的方式。否则,虽然您可以使用(via ) 或(via )转换F[A]为,但您没有能力在. 所以你只能让别人为你做这件事。F[B]A => BmapF[A => B]apF

不同的Applicative是,你可以把东西放进去,从无到有。

因为任何一个都可能有用(“你有权将东西放入一个F”和“不,不要动手,并根据你得到的东西进行操作”),Applicative并且Apply是单独的类型类。

于 2016-04-25T18:37:46.633 回答