私は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それで、上記の例で戻ることの背後にある考え方は何ですか?