{"description":"Data.ConfigFile \u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u8aad\u307f\u8fbc\u307f\u7528\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3002 \u3053\u3093\u306a\u611f\u3058\u3067\u3088\u304f\u4f7f\u3063\u3066\u308b\u3002 printUsage = print \"...\" main = do args <- getArgs case args of [] -> pringUsage (configFile:_) -> do val <- readfile emptyCP{optionxform = id} configFile let cp = forceEither val -- \u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u305f\u3089\u6b7b\u306d\u3070\u3044\u3044 start cp emptyCP \u306e optionxform \u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u3067 toLower\u2026","url":"https://melpon.hatenadiary.org/entry/20110902/1314946474","height":"190","version":"1.0","categories":["Haskell"],"type":"rich","author_url":"https://blog.hatena.ne.jp/melpon/","blog_title":"melpon\u65e5\u8a18 - Haskell\u3082C++\u3082\u307e\u3068\u3082\u306b\u6271\u3048\u306a\u3044\u3078\u305f\u308c\u306e\u30da\u30fc\u30b8","provider_url":"https://hatena.blog","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fmelpon.hatenadiary.org%2Fentry%2F20110902%2F1314946474\" title=\"\u6700\u8fd1\u4f7f\u3063\u305f\u30e2\u30b8\u30e5\u30fc\u30eb\u3068\u304b - melpon\u65e5\u8a18 - Haskell\u3082C++\u3082\u307e\u3068\u3082\u306b\u6271\u3048\u306a\u3044\u3078\u305f\u308c\u306e\u30da\u30fc\u30b8\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","author_name":"melpon","blog_url":"https://melpon.hatenadiary.org/","width":"100%","title":"\u6700\u8fd1\u4f7f\u3063\u305f\u30e2\u30b8\u30e5\u30fc\u30eb\u3068\u304b","published":"2011-09-02 15:54:34","image_url":null,"provider_name":"Hatena Blog"}