
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