[Haskell-cafe] Attoparsec: Limiting Parsers to N Bytes, or Combing Parsers?
Michael Craig
mkscrg at gmail.com
Sat Sep 24 05:04:57 CEST 2011
Suppose we want to parse a 24-bit hex color value:
input :: ByteString
input = "af093c blah blah blah"
type Color = (Word8, Word8, Word8)
Attoparsec.Char8 exports a nice hexadecimal parser, but it consumes all
available hex-flavored input. I'd like to make it consume exactly two bytes,
so I could write my color parser like this:
color :: Parser Color
color = do
r <- hex2
g <- hex2
b <- hex2
return $ Color (r, g, b)
hex2 :: Parser Word8
hex2 = ???
So my question is "how do I write hex2?" I could easily rewrite hexadecimal,
but it would be nicer to reuse its hex-handling logic.
Best,
Mike S Craig
(908) 328 8030
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20110923/550417a9/attachment.htm>
More information about the Haskell-Cafe
mailing list