Haskellライブラリ内のクラスを見ていてApplicative
、偶然見つけましAlternative
た。
このクラスは何に適していますか?グーグル検索は特に洞察に満ちたものを明らかにしませんでした。そして、それは完全に場違いのようで、Applicativeパッケージにそのままバンドルされています。
誰かがあなたがこのクラスを使う可能性のあるシナリオを投稿してくれませんか?
Haskellライブラリ内のクラスを見ていてApplicative
、偶然見つけましAlternative
た。
このクラスは何に適していますか?グーグル検索は特に洞察に満ちたものを明らかにしませんでした。そして、それは完全に場違いのようで、Applicativeパッケージにそのままバンドルされています。
誰かがあなたがこのクラスを使う可能性のあるシナリオを投稿してくれませんか?
これは、パーサーコンビネーターで一般的に使用されます。たとえば、space
が単一の空白文字に一致するパーサーコンビネータである場合、はmany space
連続する空白に一致するパーサーコンビネータになります。
しかし、私はそれが少し場違いであることに同意することができControl.Applicative
ます。
<|>
演算子が非常に役立つ場合があります。
foldl1 (<|>) [Nothing, Just 5, Just 3]
-- Just 5