在ghci中运行haskell程序

在ghci中运行haskell程序,haskell,Haskell,我是哈斯克尔的新手,试图从“向你学习哈斯克尔”中学习。我遇到了一个我在任何地方都找不到答案的问题。我有一个简单的程序,我想运行,但我所做的一切都不能使它运行。这本书要我做的事行不通。我可以编译程序并运行单个函数,但除非调用特定函数,否则无法运行main。这对我来说似乎很好,直到我试图将一个文本文件传递到它,但它不起作用 那么,在输入:load program.hs之后,我该如何运行程序呢 我试过。。。 美元/程序 --制作程序 --生成程序.exe 这些东西大约有一千种变化。我该怎么做才能让我的

我是哈斯克尔的新手,试图从“向你学习哈斯克尔”中学习。我遇到了一个我在任何地方都找不到答案的问题。我有一个简单的程序,我想运行,但我所做的一切都不能使它运行。这本书要我做的事行不通。我可以编译程序并运行单个函数,但除非调用特定函数,否则无法运行main。这对我来说似乎很好,直到我试图将一个文本文件传递到它,但它不起作用

那么,在输入:load program.hs之后,我该如何运行程序呢

我试过。。。 美元/程序 --制作程序 --生成程序.exe 这些东西大约有一千种变化。我该怎么做才能让我的程序运行,这样我就可以给它传递一个文本文件?


Haskell可以编译或解释。要使用类似python的解释器,请执行
runhaskell
,您可以使用与编译它相同的参数

更多信息请点击此处:
Haskell可以编译或解释。要使用类似python的解释器,请执行
runhaskell
,您可以使用与编译它相同的参数

更多信息请点击此处:

您似乎混淆了ghci和命令行。只能在ghci中键入Haskell代码。命令
/capslocker
将从命令行运行,并将运行编译的程序
capslocker
$
符号是Linux中的命令提示符,您不需要输入它。这本书建议使用

$ ghc --make capslocker 

预先编译代码。在本节中,它实际上没有使用
ghci
。如果您使用的是Windows,则某些命令可能无法工作,因为它假定您使用的是Linux(在前面的“输入和输出”部分中对此进行了解释,并建议使用cygwin作为替代方法)。

看起来您混淆了ghci和命令行。只能在ghci中键入Haskell代码。命令
/capslocker
将从命令行运行,并将运行编译的程序
capslocker
$
符号是Linux中的命令提示符,您不需要输入它。这本书建议使用

$ ghc --make capslocker 

预先编译代码。在本节中,它实际上没有使用
ghci
。如果您使用的是Windows,则某些命令可能无法工作,因为它假定您使用的是Linux(前面的“输入和输出”部分对此进行了解释,并建议使用cygwin作为替代方法)。

如果我读得没错,您想简单地构建您的程序吗?然后命令是
ghc
,而不是
ghci
,但我建议您改用cabal。我认为,当您刚刚在LYAH中学习示例时,使用cabal不是一个好主意。在您需要构建一个具有附加库依赖项的项目之前,我绝对不会这么做。如果我读对了,您只想构建您的程序吗?然后命令是
ghc
,而不是
ghci
,但我建议您改用cabal。我认为,当您刚刚在LYAH中学习示例时,使用cabal不是一个好主意。在您需要构建具有附加库依赖项的项目之前,我绝对不会这样做。非常感谢您的帮助。你完全正确,它解决了我的问题。我读的是物理书,里面没有关于Linux的注释。谢谢你帮我澄清。感谢你真正理解了我需要帮助的地方,我不确定有人能理解我的胡言乱语。酷。很高兴你让它工作了。也许是作者在其他地方出现类似的混乱之后,将其添加到了数字版本中。非常感谢您的帮助。你完全正确,它解决了我的问题。我读的是物理书,里面没有关于Linux的注释。谢谢你帮我澄清。感谢你真正理解了我需要帮助的地方,我不确定有人能理解我的胡言乱语。酷。很高兴你让它工作了。也许作者在其他地方出现类似的混乱之后,在数字版本中添加了这一点。