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