[Haskell-beginners] GHC not buying what I am offering this afternoon

Joel Williamson joel.s.williamson at gmail.com
Mon Mar 9 20:15:59 UTC 2015


main must have type IO a. Hoogle tells me that to convert [IO a] -> IO [a],
you should use the function sequence. Try applying that to your final line.

On Mon, 9 Mar 2015 16:07 Geoffrey Bays <charioteer7 at gmail.com> wrote:

> My main function looks like this:
>
> main :: [IO()]
> main = do
>     let stud1 = Student {name = "Geoff", average = -99.0, grades =
> [66,77,88]}
>     let stud2 = Student {name = "Doug", average = -99.0, grades =
> [77,88,99]}
>     let stud3 = Student {name = "Ron", average = -99.0, grades =
> [55,66,77]}
>     let studList = [stud1,stud2]
>     let newList = calcAvg studList
>     [putStrLn $ show s | s <- newList]
>     --putStrLn $ show (newList !! 0)
>     --putStrLn $ show (newList !! 1)
>
> With this final line, putStrLn $ show (newList !! 0), the type IO () in
> the function declaration compiles fine.
> But with [putStrLn $ show s | s <- newList] as the final line, [IO ()] in
> the function declaration will not compile, I get this error:
>
>     Couldn't match expected type `IO t0' with actual type `[IO ()]'
>
> What does the declared type need to be for a final line of:
> [putStrLn $ show s | s <- newList]  ???
>
> Thanks,
>
> Geoffrey
>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20150309/3b21d9c1/attachment.html>


More information about the Beginners mailing list