如何将脚本加载到ghci?

时间:2013-03-18 17:04:02

标签: haskell

我刚刚开始学习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.. 

这样的事情可能吗?

3 个答案:

答案 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命令

cf Loading source file in Haskell documentation