HaskellのApplicativesを学習しています。pureたとえば、関数は実際には必要ないようです(おそらく間違っています)。
pure (+) <*> [1,2,3] <*> [3,4,5]
次のように書くことができます
(+) <$> [1,2,3] <*> [3,4,5]
誰かpureが明示的なマッピングよりも関数が提供する利点を誰かに説明できますかfmap?
pureApplicative計算で「純粋な」値を使用できるようにします。あなたが正しく観察しているように、はとpure f <*> x同じf <$> xですが、たとえばに相当するものはありませんf <*> x <*> pure y <*> z。(少なくとも私はそうは思いません。)
fmap (\f' x' z' -> f' x' y z') f <*> x <*> z、私は思います。アイデアは、Applicative「交換」の法則としてドキュメントにあります。
pure f <*> xとまったく同じfmap f xです。にpure含まれた理由は確かにありますが、その理由はApplicative完全にはわかりません。