thanks Micheal and Ertugrul!
Sunil

On Mon, Aug 8, 2011 at 5:15 PM, Ertugrul Soeylemez <es@ertes.de> wrote:
Sunil S Nandihalli <sunil.nandihalli@gmail.com> wrote:

> module Main where
> import Prelude
>
> stringToInt::String->Int
> stringToInt str = read str
>
> main =
>     do x<-getLine
>        y<-stringToInt x
>        print y

It is a type problem.  Using the '<-' syntax for 'stringToInt' requires
that it is a monadic function (like: String -> IO Int), but it is not.
Since it is not monadic, you can simply let-bind the result to a name:

   do xStr <- getLine
      let x = stringToInt xStr
      print x

Or more simply:

   do xStr <- getLine
      print (stringToInt xStr)


Greets,
Ertugrul


--
nightmare = unsafePerformIO (getWrongWife >>= sex)
http://ertes.de/



_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://www.haskell.org/mailman/listinfo/beginners