我刚刚开始学习Haskell,并且很难理解Haskell程序的“流程”。
例如在Python中,我可以编写一个脚本,将其加载到解释器并查看结果:
def cube(x):
return x*x*x
print cube(1)
print cube(2)
print cube(cube(5))
# etc...
在Haskell中,我可以这样做:
cube x = x*x*x
main = print (cube 5)
使用runhaskell
加载它,它将打印125
或者我可以使用ghci
并手动键入我想要测试的所有函数
但我想要的是使用我的文本编辑器,编写几个函数,一些测试,并让Haskell打印出一些结果:
-- Compile this part
cube x = x*x*x
-- evaluate this part:
cube 1
cube 2
cube (cube 3)
--etc..
这样的事情可能吗?
答案 0 :(得分:14)
很有可能!
$ ghci
> :l filename.hs
这将加载文件,然后您可以直接使用这些功能。
> :r
这将导致在您进行编辑后重新加载文件。无需提及该文件,它将重新加载您加载的最后一个文件。如果您最初ghci filename.hs
而不是:l
,那么这也会有用。
答案 1 :(得分:8)
cube x = x*x*x
main = do
print $ cube 1
print $ cube 2
print $ cube (cube 3)
$ ghci cube.hs
...
ghci> main
请参阅GHCI user guide。
我还强烈建议您查看QuickCheck库。
你会惊讶于它的测试结果如何。
答案 2 :(得分:4)
要将Haskell源文件加载到GHCi,请使用:load
命令