Naming of `pure` function in Control.Applicative [

2019-06-15 08:24发布

Why is the function for lifting a value into a functor named pure in Control.Applicative?

2条回答
女痞
2楼-- · 2019-06-15 08:33

It's a little like fromInteger. Its argument is always a pure value or function that will be lifted into the functor. Perhaps it should have been fromPure but you know how Haskell people love to shorten names (e.g. fst and snd instead of first and second...).

查看更多
唯我独甜
3楼-- · 2019-06-15 08:50

Think of pure as an adjective.

foo <*> pure 4 = foo applied on a pure value 4.

(As for the exact reason why it's called pure, probably only McBride and Paterson will know.)

查看更多
登录 后发表回答