I am using windows XP, and both in cygwin and cmd, it first pauses to get the input, and then displays the prompt and the hello message in the same line.
c:\haskell>runghc Test.hs
test
Please Enter Your Name: Hello test
Ali
2010/3/4 Ali Razavi <ali.razavi@gmail.com>:
FWIW using GHCi in standard Windows Vista, this works like it should.> Why doesn't this work the way it's supposed to, or the way it's intuitively
> apparent from the code, that is, showing the prompt first, getting the line
> next, and printing the result finally?
>
> main = do
> putStr "Please Enter Your Name: "
> name <- getLine
> putStrLn ("Hello " ++ name)
>
>
> changing putStr with putStrLn rectifies it to the expected behavior, but I
> wonder why this version misbehaves. FWIW, I use ghc in cygwin.
>
> Ali
>
--
Deniz Dogan