getLine doesn't stop <p>My program goes something like</p> <pre><code>main :: IO String main = do putStrLn "input a" a &lt;- getChar putStrLn "input b" b &lt;- getLine putStrLn "input c" c &lt;- getChar return a:c:b </code></pre> <p>Behaviour: I get "input a" printed, and the program waits for me to type a Char and press return. From there, it scrolls past <strong>getLine</strong> without ever letting me input something. How can I make it do what I intend it to?</p> <p>P.S.: There are probably more problems with this code, but let's focus on my present question.</p>