我是Haskell的新手,在启动ghci
后,我尝试了:
f x = 2 * x
我得到了:
<interactive>:1:4: parse error on input `='
我不明白。
奇怪的是,它以前运行得很好。我想我做错了Haskell的配置。重新安装ghc6并不能解决问题。
作为参考,我使用Ubuntu10.4,ghc6的版本是6.12.1-12
发布于 2011-05-31 16:39:53
在GHCi 7.x或更低版本中,您需要一个let
来定义其中的内容。
Prelude> let f x = x * 2
Prelude> f 4
8
从GHC8.0.1,top-level bindings are supported in GHCi开始,所以OP的代码将无需更改即可工作。
GHCi, version 8.0.1.20161213: http://www.haskell.org/ghc/ :? for help
Prelude> f x = x * 2
Prelude> f 4
8
发布于 2011-05-31 16:56:37
当您在Haskell源文件中键入内容时,
f x = 2 * x
是正确的。
当您直接键入ghci时,需要在行首键入let
:
let f x = 2 * x
发布于 2016-10-15 12:32:13
从GHC 8.0.1开始,这将不再生成错误。
https://stackoverflow.com/questions/6184940
复制相似问题