Hi Chul-Woong,
Deepseq package can be used to make sure a list is actually fully constructed before it's used.
import System.IO
import Control.DeepSeqs <- getContents
main :: IO ()
main = do
s `deepseq` hClose stdin
putStrLn "ECHO result"
putStr s
Cheers2014-07-24 9:07 GMT+03:00 양철웅 <cwyang@aranetworks.com>:
Hi, all.Haskell's lazy IO causes below program towrite back "ECHO result" to the usereven if he doesn't give any input to the program.test1 :: IO ()test1 = dol <- fmap lines getContentsputStrLn "ECHO result"putStr $ unlines lIf the client logic, that is the part for feeding data to this programand wait for the response, expect the server logic to respondonly 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, andmy web server responds "HTTP/1.1" before any client's requestare given. I'm using hGetContents and web server's logic isbasically same with above code skeleton.How can I tell the program to respond data only after all therequests are feed? Any directions are welcomed.Thanks.
Chul-Woong_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://www.haskell.org/mailman/listinfo/beginners
_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://www.haskell.org/mailman/listinfo/beginners