
19 Jul
2010
19 Jul
'10
3:36 a.m.
data Command = Play Int [Int] | Jump Int -- I want to parse a string that will have any of the following forms -- and turn it into Command -- "p" - Produces "Play 0 []" -- "p v55" - Produces "Play 55 []" -- "p c123" - Produces "Play 0 [1,2,3]" -- "p v13 c12" - Produces "Play 13 [1,2]" -- In other words the p command can have two kinds of arguments, "v" -- and "c", and there are defaults for the case that no argument is -- supplied. -- So it's going to look something like play :: Parser Command play = do char 'p' vResult <- .. maybe a v, otherwise supply default value 0 cResult <- .. maybe a c .. (could the v and c be put in either order?) return $ Play vResult cResult