This is subset of Parsec.

Parsec 3 provides features which Parsec 2 does not provide:
- Applicative style
- ByteString as input

But Haskell Platform includes Parsec 2, not Parsec 3. Installing
Parsec 3 to Haskell Platform environment makes it mess. So, I have
implemented this.