うじひささん主催のHaskell勉強会#9に行ってきました。 今回はふつケルのp.318からp.332まで読み進めました。Parsec(sayではぱーせく)のあたりです。 最後にやった演習で結局宿題になった”逆ポーランド記法のパーサを書こう”を頑張ってやってみました。 (02/25:追記) うじひささんの指摘を受けて先頭のスペースを無視する様に修正しました。 import Text.ParserCombinators.Parsec data RPNExpr = Error | Expr Int Int Char main = do expr <- getContents mapM_ (print . calc . compileRPN) (lines expr) calc :: RPNExpr -> Int calc Error = -99 calc (Expr x y '+') = x