2012-12-01から1ヶ月間の記事一覧

Haskell グローバル変数

グローバル変数(続) - HaHaHa!(old) - haskell型定義を書くとしたら次のようになるのか。 module Main where import System.Environment main = putStr . func1 . elem "-c" =<< getArgs type Options = Bool func1 :: Options -> String func1 = func2 fu…

Parsec many many1 の入れ子

Parsec のコンビネーター many1 は入れ子にすると下記のとおり、型が異なる。 Prelude> :m +Text.Parsec Prelude Text.Parsec> :t many1 (char 'a') many1 (char 'a') :: Stream s m Char => ParsecT s u m [Char] Prelude Text.Parsec> :t many1 (many1 (ch…

は可換ではない

以下、二重引用符で囲った文字列を解析するパーサーを書いたもの。 二重引用符のエスケープ文字として \ が使える。 module Main where import Text.ParserCombinators.Parsec main :: IO() main = parseTest parseString "\"abc\\\"def\"" parseString :: P…