2016-04-25 86 views

回答

12

Applicative提供了pure方法,这是一种“进入”的方法。否则,尽管你可以转换F[A]F[B],无论是与A => B(通过map)或F[A => B](通过ap),你不必把任何一种F内的能力。所以你只能让别人为你做。

Applicative的区别在于你的可以从中放入东西,从无到有。

由于这两个可能是有用的(“你有权把东西放进一个F”和“不用了,继续你的手拿开,并在你给出什么操作”),ApplicativeApply是单独的类型类。

+0

谢谢。我想我明白了。你可以举一个例子,使用不是'Applicative'的'Apply'(例如,“放开手脚,按照你给的东西操作”)? – Michael

+0

你可以想像各种情况。例如,如果您有一个想要处理的错误类型,但您不希望它能够生成任何新错误或使用任何不是来自错误上下文的信息,则可能希望您的错误类型具有'应用'类型类,但不是'应用程序类'。 –

相关问题