2016-04-25 129 views

回答

12

Applicative提供了pure方法,這是一種「進入」的方法。否則,儘管你可以轉換F[A]F[B],無論是與A => B(通過map)或F[A => B](通過ap),你不必把任何一種F內的能力。所以你只能讓別人爲你做。

Applicative的區別在於你的可以從中放入東西,從無到有。

由於這兩個可能是有用的(「你有權把東西放進一個F」和「不用了,繼續你的手拿開,並在你給出什麼操作」),ApplicativeApply是單獨的類型類。

+0

謝謝。我想我明白了。你可以舉一個例子,使用不是'Applicative'的'Apply'(例如,「放開手腳,按照你給的東西操作」)? – Michael

+0

你可以想像各種情況。例如,如果您有一個想要處理的錯誤類型,但您不希望它能夠生成任何新錯誤或使用任何不是來自錯誤上下文的信息,則可能希望您的錯誤類型具有'應用'類型類,但不是'應用程序類'。 –

相關問題