我刚开始使用Haskell并遇到了问题(。)。
Prelude> :info myPrint
myPrint :: () -> IO ()
有关我定义的函数的信息打印:
myPrint:: Show a => a -> IO ()
输出不应该是:
{{1}}
答案 0 :(得分:3)
您正在使用旧的GHCi / Hugs解释器,其中适用可怕的单态限制。我建议你更新它。
GHCi, version 7.10.2: http://www.haskell.org/ghc/ :? for help
Prelude> let myPrint = putStrLn . show
Prelude> :t myPrint
myPrint :: Show a => a -> IO ()