Haskell Hello world,eclipse IDE

Sco*_*ein 7 eclipse haskell

我无法通过eclipseFP和Haskell获得"hello world".

我有以下代码,

module Main where
  main = putStr "Hello world!"
Run Code Online (Sandbox Code Playgroud)

当我用它编译它

ghc.exe .\H1.hs -o hw.exe
Run Code Online (Sandbox Code Playgroud)

它工作正常,但在eclipseFP下,当我运行它时,我只在控制台窗口中看到以下内容:

GHCi, version 6.10.4: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer ... linking ... done.
Loading package base ... linking ... done.
Ok, modules loaded: Main.
Prelude Main> 
Run Code Online (Sandbox Code Playgroud)

我犯了什么错误?

Tom*_*rst 12

我多年没有使用过EclipseFP,所以记住这一点.

似乎正在发生的事情是EclipseFP正在控制台中加载GHCi.GHCi是一个交互式Haskell shell,您可以在其中评估简单表达式.它还显然加载了您的模块Main,因此您可以使用GHCi来调用模块中的函数.

如果您在:main控制台中输入,它将运行您编程并打印"Hello world!",您还可以调用您在程序中定义的其他函数或标准Haskell函数.

但是,您可能想要做的是将EclipseFP设置为在运行时执行程序,我不记得该怎么做,可能在"运行"菜单中的某个位置.

  • 键入`main`将简单地调用main函数(将起作用).但是,键入`:main`允许您传递可以使用`getArgs`读取的参数,这通常对命令行程序很有用. (12认同)
  • 我认为没有冒号就是"主力" (3认同)

小智 6

在项目浏览器中单击您的项目,然后单击鼠标右键并选择Run As > Run Configurations > Run As Haskell Application.


rtp*_*son 3

从我对 EclipseFP 的了解来看,它只是 GHCi 的一个接口。这意味着,就我而言,没有理由使用它,因为你得到了 Eclipse 的所有坏处(臃肿、对记忆的无底渴求、镇静剂乌龟般的速度),而且绝对没有任何好处。好处(索引、调试器、工具堆栈的管理)。

那么你犯了什么菜鸟错误呢?你用过Eclipse。没关系——这是一个很容易犯的错误。如果您正在学习 Scala,Eclipse 可能是您的最佳选择。但对于 Haskell,你最好从命令行运行 GHCi 并使用像 Notepad++ 这样的编辑器(它具有不错的语法突出显示)。这一次,命令行/编辑器组合更可取,不是因为它有男子气概,而是因为它更有用。

如果您绝对必须有一个 IDE,那么现在可供选择的东西很少,但这是我发现的。

莱克萨·温
GHCi

当然,任何在这个问题的答案中找到的。

我还没有使用过它,但 Leksah 似乎是迄今为止功能最丰富的 IDE。就我个人而言,我坚持使用 Notepad++ 和命令行。

  • -1:你没有回答问题。无论是否有 Eclipse,解决方案都是相同的,正如其他答案所描述的那样。 (8认同)
  • 这篇文章现在已经有两年了。如果 EclipseFP 在过去两年里没有改进,我会感到非常惊讶。当我使用它时,它所做的只是打开 GHCi。 (2认同)