Haskell'in Uygulamalarını öğreniyorum. Görünüşe göre (muhtemelen yanılıyorum) pure
işleve gerçekten ihtiyaç duyulmuyor, örneğin:
pure (+) <*> [1,2,3] <*> [3,4,5]
olarak yazılabilir
(+) <$> [1,2,3] <*> [3,4,5]
Birisi pure
işlevin açık eşleme üzerinde sağladığı faydaları açıklayabilir fmap
mi?
pure
bir kişinin Uygulamalı bir hesaplamada "saf" değerleri kullanmasına izin verir. Doğru bir şekilde gözlemlediğiniz pure f <*> x
gibi f <$> x
, aynısı olsa da, diyelim ki böyle bir eşdeğer yoktur f <*> x <*> pure y <*> z
. (En azından ben öyle düşünmüyorum.)
Monoid
pure
Monoid
Applicative
pure
Semigroup
Monoid
pure
fmap (\f' x' z' -> f' x' y z') f <*> x <*> z
, sanırım. Fikir, Applicative
"değişim" yasası olarak dokümantasyondadır.
pure f <*> x
tam olarak aynıfmap f x
. İçinepure
dahilApplicative
olmanın bir nedeni olduğundan eminim, ama neden olduğundan tam olarak emin değilim.