私はhaskellの初心者で、Learn youahaskellの本を読んでいます。私はしばらくの間、ファンクターとアプリケーションファンクターを消化しようとしています。
適用可能なファンクターのトピックでは、のインスタンス実装Maybe
は次のように与えられます。
instance Applicative Maybe where
pure = Just
Nothing <*> _ = Nothing
(Just f) <*> something = fmap f something
ですから、私が理解しているNothing
ように、左側のファンクター(for <*>
)がNothingであるかどうかがわかります。私には、それはより理にかなっているようです
Nothing <*> something = something
そのため、このアプリケーションファンクターは効果がありません。配給のユースケースはありNothing
ますか?
言ってやるが、Maybe String
私にはその価値がわからない。これをサードパーティの関数に渡す必要がありMaybe
ますが、その結果をMaybe (a -> b)
最初に数回実行する必要があります。これらの関数のいくつかがあれば、データの損失であるをNothing
与えるのではなく、サイレントに入力を返すようにします。Nothing
Nothing
それで、上記の例で戻ることの背後にある考え方は何ですか?