Haskell:使用点运算符组合两个函数时出错

时间:2016-04-19 11:14:10

标签: haskell io output

我刚开始使用Haskell并遇到了问题(。)。

Prelude> :info myPrint
myPrint :: () -> IO ()

有关我定义的函数的信息打印:

myPrint:: Show a => a -> IO ()

输出不应该是:

{{1}}

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 ()