<div dir="ltr"><span style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Hi !,</span><div class="" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br class=""></div><div class="" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">I have the following program from “Learn You a Haskell” ( <a href="http://learnyouahaskell.com/input-and-output#randomness" class="">http://learnyouahaskell.com/input-and-output#randomness</a> ). When i run this using runhaskell, code works perfectly fine. However, when i compile and run the binary file, code behaves differently.</div><div class="" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br class=""></div><div class="" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Basically, in the following code, we print a line first and the read the line from stdin. This behavior works perfectly fine when using “runhaskell guess.hs”. But when i say “./guess”, i had to type in a number directly ( i.e. first prompt is skipped ).</div><div class="" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br class=""></div><div class="" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">btw.. i am using mac yosomite command terminal.</div><div class="" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br class=""></div><div class="" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Any help greatly appreciated.. Thanks a lot in advance..</div><div class="" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br class=""></div><div class="" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br class=""></div><div class="" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br class=""></div><div class="" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br class=""></div><div class="" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><div class="" style="margin:0px;font-size:11px;font-family:Monaco">import System.Random</div><div class="" style="margin:0px;font-size:11px;font-family:Monaco">import Control.Monad(when)</div><div class="" style="margin:0px;font-size:11px;font-family:Monaco">main = do</div><div class="" style="margin:0px;font-size:11px;font-family:Monaco">  ranGen <- getStdGen</div><div class="" style="margin:0px;font-size:11px;font-family:Monaco">  let (rand,_) = randomR (1,10) ranGen :: (Int,StdGen)</div><div class="" style="margin:0px;font-size:11px;font-family:Monaco">  putStr "Guess a number between 1 and 10 : "</div><div class="" style="margin:0px;font-size:11px;font-family:Monaco">  numStr <- getLine</div><div class="" style="margin:0px;font-size:11px;font-family:Monaco">  when(not $ null numStr) $ do</div><div class="" style="margin:0px;font-size:11px;font-family:Monaco">    let num = read numStr</div><div class="" style="margin:0px;font-size:11px;font-family:Monaco">    if rand == num</div><div class="" style="margin:0px;font-size:11px;font-family:Monaco">      then putStrLn "Yuhaa!! you are right baby!"</div><div class="" style="margin:0px;font-size:11px;font-family:Monaco">      else putStrLn $ "Sorry dude!! it was " ++ show rand</div><div class="" style="margin:0px;font-size:11px;font-family:Monaco">    newStdGen</div><div class="" style="margin:0px;font-size:11px;font-family:Monaco">    main</div></div></div>