
Hi All, I am a newbie to Haskell, and have been using Programming in Haskell along with Eric Meijer videos covering the book syllabus. I am currently on Chapter 8 Functional Parsers, and trying to implement few of the examples given in the book. Following is the example : item = \inp -> case inp of [] -> [] (x:xs) -> [(x,xs)] p = do x <- item y <- item z <- item return (x,y,z) ========= When I compile it using GHCI, I get the following error : [1 of 1] Compiling Main ( parser.hs, interpreted ) parser.hs:5:8: No instance for (Monad ((->) [t])) arising from a do statement at parser.hs:5:8-16 Possible fix: add an instance declaration for (Monad ((->) [t])) In a stmt of a 'do' expression: x <- item In the expression: do x <- item y <- item z <- item return (x, y, z) In the definition of `p': p = do x <- item y <- item z <- item .... Failed, modules loaded: none. ========= I tried googling for samples, above error message etc. But not getting to solution. Can anyone guide me as to what am I doing wrong and how can I fix this. Regards, Amiruddin Nagri, India GTalk : amir.nagri@gmail.com