<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">Thanks Bryan and Derek. This works!<br>Logo<br><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">----- Original Message ----<br>From: Derek Elkins &lt;derek.a.elkins@gmail.com&gt;<br>To: Bryan O'Sullivan &lt;bos@serpentine.com&gt;<br>Cc: Loganathan Lingappan &lt;loganathan.lingappan@yahoo.com&gt;; haskell-cafe@haskell.org<br>Sent: Saturday, December 8, 2007 4:53:54 PM<br>Subject: Re: [Haskell-cafe] Type error in final generator<br><br>
On Sat, 2007-12-08 at 16:39 -0800, Bryan O'Sullivan wrote:<br>&gt; Loganathan Lingappan wrote:<br>&gt; <br>&gt; &gt; main = do<br>&gt; &gt;&nbsp; &nbsp; &nbsp; &nbsp;  hSetBuffering stdin LineBuffering<br>&gt; &gt;&nbsp; &nbsp; &nbsp; &nbsp;  numList &lt;- processInputs<br>&gt; &gt;&nbsp; &nbsp; &nbsp; &nbsp;  foldr (+) 0 numList<br>&gt; <br>&gt; The type of main is understood to be IO (), so it can't return
 anything.<br>&gt;&nbsp; You could work around this by rewriting the last line above as
 follows:<br>&gt; <br>&gt; print (foldr (+) 0 numList)<br>&gt; <br>&gt; This prints the number, which is presumably what you want, and print
 has<br>&gt; type IO (), so it works out nicely here.<br><br>Nitpicking:<br><br>Actually, as the error message says, the type of main is IO a so it can<br>'return' -anything- and that will be discarded as the type makes clear.<br>The issue is that foldr (+) 0 numList :: Integer and that's not IO a
 for<br>any a.&nbsp; Either way, Bryan's suggestion is probably what you want.<br><br></div><br></div></div></body></html>