Haskell 中的无效参数 hGetContents

Invalid argument hGetContents in Haskell

我正在尝试对整数列表进行排序并将它们打印出来,但收到此异常:

Exception: <stdin>: hGetContents: invalid argument (Bad file descriptor)

程序:

import Data.List

main :: IO ()
main = do
    interact maxTri
    putStrLn ""

readInt :: String -> Int
readInt = read

maxTri :: String -> String
maxTri = show .
    sort .
    map readInt .
    words

interact(半)关闭输入流。如果您在 ghci 中,这不会很好地发挥作用,它希望继续使用输入流。

使用

编译并运行你的程序
ghc path.hs
path

而且应该不会出现这个问题