首页 > 解决方案 > 如何编译第一个haskell程序

问题描述

我想开始学习haskell,但我无法让它工作,所以基本上我已经安装了堆栈,使用stack new 命令创建了一个新项目。我还运行堆栈更新,堆栈升级。现在我有一个应用程序文件夹,一个源文件夹和更多的东西。我真的承认我完全不知道我在做什么但是我在文档中看到每个命令和堆栈本身都得到了很好的解释。但是这是一个非常理论的解释,我只是想运行我的第一个 hello world 程序,就像我在迄今为止所学的每种编程语言中所做的那样:)。你能帮帮我吗?这是我项目目录当前结构的屏幕截图。dir 结构的图像。如您所见,我也尝试运行 ghc 或 ghci 命令,但没有任何运气。在此先感谢 ;)

标签: haskell

解决方案


我将在这里发表一个有争议的观点,并说如果你想要的是一个最少大惊小怪的 hello-world,那么 stack 不是正确的工具。直接使用 GHC 即可。只需制作一个文件,例如,hello.hs包含:

main = putStrLn "Hello, world!"

然后在命令行中,您可以执行以下操作来运行它;这里有三个选项,你只需要选择一个。

% runhaskell hello.hs
Hello, world!
% ghc hello.hs
[1 of 1] Compiling Main             ( test.hs, test.o )
Linking hello ...
% ./hello
Hello, world!
% ghci hello.hs
> main
Hello, world!

如果您在 Windows 上,您可能需要稍微调整一些命令;我认为主要是./hello这样hello.exe


推荐阅读