为什么在Control.Applicative中将值提升为名为pure
的仿函数的函数?
答案 0 :(得分:12)
将pure
视为形容词。
foo <*> pure 4
= foo
应用于纯值4
。
(至于确切的原因为什么叫它pure
,可能只有McBride和Paterson会知道。)
答案 1 :(得分:6)
有点像fromInteger
。它的论证总是一个纯粹的价值或功能,将被提升到仿函数。也许应该是fromPure
,但你知道Haskell人喜欢如何缩短名称(例如fst
和snd
而不是first
和second
...)