Почему функция для перевода значения в функтор с именем pure
в Control.Applicative?
Именование функции `pure` в Control.Applicative
Ответ 1
Вспомните pure
как прилагательное.
foo <*> pure 4
= foo
применяется к чистому значению 4
.
(Что касается точной причины, по которой она называлась pure
, вероятно, будут знать только McBride и Paterson.)
Ответ 2
Это немного похоже на fromInteger
. Его аргумент всегда является чистым значением или функцией, которая будет поднята в функтор. Возможно, это должно было быть fromPure
, но вы знаете, как люди Haskell любят сокращать имена (например, fst
и snd
вместо first
и second
...).