Запрос пароля в приложении командной строки Haskell

Следующая программа на Haskell запрашивает у пользователя пароль в терминале и продолжает, если он ввел правильный :

main = do
    putStrLn "Password:"
    password <- getLine

    case hash password `member` database of
        False -> putStrLn "Unauthorized use!"
        True  -> do
                 ...

К сожалению, пароль будет отображаться на экране по мере его ввода пользователем, чего я хочу избежать.

Как я могу прочитать последовательность символов, вводимых пользователем, не отображая ее на экране? Что эквивалентно getLine для этой цели?

Я использую MacOS X, но я бы хотел, чтобы это работало также в Windows и Linux.

26
задан Heinrich Apfelmus 31 October 2010 в 20:03
поделиться