在python中,有许多IDE可以让你这样做。
>>> if (a==5):
print "Yes"
else:
print "No"
但是在haskell的GHCi中:
Prelude> do
<interactive>:2:1: Empty 'do' block
它不起作用。是否有任何IDE允许您以交互模式执行多行命令。
注意:我知道:{和:}命令,但您输入后无法编辑上线。
答案 0 :(得分:5)
输入
Prelude> :set +m
Prelude> do
Prelude| x <- getLine
Prelude| putStrLn $ "yay: " ++ x
Prelude|
hi!
yay: hi!
:set +m
部分支持Python中的多行输入。这与:{
:}
类似,但您也无法在那里编辑上线。如果你想这样做,我建议你在文件中写入并将其加载到解释器中。 (使用正确的Vim或Emacs设置可以很快完成此操作。)
如果您没有加入命令行编辑器,您可以查看一些实际的Haskell IDE。我知道FP Complete有一个基于网络的,可以免费用于教育目的。 building IDEs in Haskell也有一些尝试。
答案 1 :(得分:2)
尝试ihaskell,https://github.com/gibiansky/IHaskell,这是ipython的Haskell内核。这是一个年轻的项目,而不是hackage。让我们知道它是怎么回事!