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