【发布时间】:2012-07-27 04:44:33
【问题描述】:
*Main> :t putStrn :1:1: 不在范围内:`putStrn' 也许您的意思是其中之一: `putStr'(从 Prelude 导入), `putStrLn'(从 Prelude 导入)
请注意,我正在使用 haskell 模式在 emacs 中练习 haskell 编程。
即使在使用终端时,我也会收到以下错误:
optimight@optimight:~$ ghci
GHCi,版本 7.4.1:http://www.haskell.org/ghc/ :?求助
加载包 ghc-prim ... 链接 ... 完成。
加载包 integer-gmp ... 链接 ... 完成。
正在加载包库...链接...完成。
Prelude> :set prompt ghci>
ghci>:t putStrln
:1:1:
不在范围内:`putStrln'
也许您的意思是其中之一:
`putStrLn'(从 Prelude 导入),
`putStr'(从 Prelude 导入)
【问题讨论】:
-
你确定有一个名为
putStrn的函数吗? -
@Pikaurd:是的,我在参考这本书后使用-Learn you a Haskell for Good-topic 9.1,其中写道“让我们检查一下我们写的内容。首先,让我们看看类型函数 putStrLn.ghci> :t putStrLn putStrLn :: String -> IO () ghci> :t putStrLn "hello, world" putStrLn "hello, world" :: IO ()
-
putStrn和putStrln与putStrLn的名称不同。
标签: haskell emacs haskell-platform haskell-mode haskell-prelude