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
On Thu, Mar 4, 2010 at 1:13 PM, Deniz Dogan <deniz.a.m.dogan@gmail.com> wrote:
2010/3/4 Ali Razavi <ali.razavi@gmail.com>:
> 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
>

FWIW using GHCi in standard Windows Vista, this works like it should.

--
Deniz Dogan