[Haskell-beginners] Question on Lazy IO

양철웅 cwyang at aranetworks.com
Thu Jul 24 06:07:23 UTC 2014


Hi, all.

Haskell's lazy IO causes below program to
write back "ECHO result" to the user
even if he doesn't give any input to the program.

test1 :: IO ()
test1 = do
  l <- fmap lines getContents
  putStrLn "ECHO result"
  putStr $ unlines l

If the client logic, that is the part for feeding data to this program
and wait for the response, expect the server logic to respond
only after all the client's request data are feed to the server logic,
the behaviour could be problematic.

I'm now writing simple web server, as you might guess, and
my web server responds "HTTP/1.1" before any client's request
are given. I'm using hGetContents and web server's logic is
basically same with above code skeleton.

How can I tell the program to respond data only after all the
requests are feed? Any directions are welcomed.
Thanks.

Chul-Woong
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20140724/e2cba2ad/attachment.html>


More information about the Beginners mailing list