4
コードをリファクタリングしてApplicative
インターフェイスを使用することについて質問があります。私はこのような何かにそれを回すしたい結果が破棄されたパーサーに適用記法を使用する
filePath0 :: GenParser Char st Info
filePath0 = do
optional (string "./")
r <- artist
slash
l <- album
slash
t <- track
return $ Song r l t
:
filePath :: GenParser Char st Info
filePath = Song <$> artist <*> album <*> track
しかし、あなたが見ることができるように、それは完全なものではありません私はこのようなモナドのインタフェースを使用してパーサを持っていると仮定します。私の質問:このリファクタリングされたバージョンでは、どこにoptional (string "./")
とslash
というパーサを挿入するのですか?
を与えます。また、$ < '使用することができます::ファンクタF => a - > fb - > fa'を実行して、左端に「セマンティクス」を保持します。 – pigworker