{"type":"rich","author_url":"https://blog.hatena.ne.jp/wvogel00/","blog_title":"wvogel\u65e5\u8a18","provider_url":"https://hatena.blog","version":"1.0","categories":["Haskell"],"height":"190","url":"https://wvogel00.hatenadiary.org/entry/20110729/1311961133","description":"Parsec\u3092\u8abf\u3079\u305f\u3089\u51fa\u3066\u304f\u308b\u30b5\u30a4\u30c8\u9054\u3001\u4e26\u3073\u306b\u53cb\u4eba\u304c\u66f8\u3044\u3066\u304f\u308c\u305f\u8a18\u4e8b\u3092\u5143\u306b\u52c9\u5f37\u3092\u7d9a\u3051\u308b\u3002 \u3068\u308a\u3042\u3048\u305a\u3001\u591a\u5206\u4e00\u756a\u6210\u679c\u304c\u51fa\u3084\u3059\u304f\u4f5c\u696d\u3082\u9032\u3081\u3084\u3059\u3044\u306e\u306f\u96fb\u5353\u3060\u308d\u3046\u3068\u3044\u3046\u3053\u3068\u3067\u3002 \u79c1\u3082\u96fb\u5353\u3092\u4f5c\u308b\u3053\u3068\u3092\u76ee\u6a19\u3068\u3059\u308b\u3002 \u307e\u305a\u306f\u6570\u5024\u306e\u8aad\u307f\u8fbc\u307f\u3002 import Text.ParserCombinators.Parsec main = run number \"1+2+3\" run :: Show a => Parser a-> String -> IO() run p input = case (parse p \"test\" input) of Left err -> putStrLn \"parse error\" \u2026","title":"Parsec(2) test","image_url":null,"published":"2011-07-29 02:38:53","provider_name":"Hatena Blog","width":"100%","author_name":"wvogel00","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwvogel00.hatenadiary.org%2Fentry%2F20110729%2F1311961133\" title=\"Parsec(2) test - wvogel\u65e5\u8a18\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","blog_url":"https://wvogel00.hatenadiary.org/"}