[Haskell] Re: Help : A problem with IO

abdullah abdul Khadir abdullah.ak2002 at gmail.com
Wed Nov 26 11:18:49 EST 2008


    The function getMyLine written by me is intended for getting a complete
string from the standard input.

import IO

getMyLine :: IO [Char]
getMyLine =  do
                c <- getChar
                if(c == '\n')
                        then return ""
                        else    cs <- getMyLine
                                return [c]

However I keep getting the following error:

io.hs:14:2: Parse error in pattern
Failed, modules loaded: none.

        I fail to understand what the error is. I tried out various things
such as changing the alignment and so on to no avail. The following program,
however, compiled successfully though it has the same structure as the
previous program.

checkd :: IO Bool
checkd = do
                c <- getChar
                        then    return True
                        else    return False

Prelude> :load ./io.hs
[1 of 1] Compiling Main             ( io.hs, interpreted )
Ok, modules loaded: Main.
*Main> checkd
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell/attachments/20081126/a45026a1/attachment.htm

More information about the Haskell mailing list