代码之家  ›  专栏  ›  技术社区  ›  Scott Weinstein

哈斯克尔你好世界,Eclipse IDE

  •  7
  • Scott Weinstein  · 技术社区  · 15 年前

    我很难让“你好世界”和EclipseFP和Haskell一起去。

    我有以下代码,

    module Main where
      main = putStr "Hello world!"
    

    当我用

    ghc.exe .\H1.hs -o hw.exe
    

    它工作正常,但在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> 
    

    我犯了什么错误?

    5 回复  |  直到 10 年前
        1
  •  3
  •   Community Keith    7 年前

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

    你犯了什么错误?你用的是Eclipse。没关系——很容易犯错误。如果你正在学习scala,那么Eclipse可能是你的必经之路。但是有了haskell,您最好从命令行运行ghci,并使用像notepad++这样的编辑器(它有良好的语法高亮显示)。这一次,命令行/编辑器组合更可取,不是因为它很有男子气概,而是因为它更有用。

    如果你一定要有一个IDE,那么现在的选择是很少的,但我发现了这一点。

    Leksah
    WinGHCi

    当然,在答案中 this question.

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

        2
  •  12
  •   Răzvan Flavius Panda    10 年前

    我好几年没用过EclipseFP了,请记住。

    似乎发生的是EclipseFP正在控制台中加载GHCI。 ghci是一个交互式haskell shell,您可以在其中计算简单表达式。它显然也加载了你的模块 Main ,这样您就可以使用ghci调用模块中的函数。

    如果键入 :main 在控制台中,它将运行程序并打印“Hello World!”也可以调用程序中定义的其他函数或标准Haskell函数。

    但是,您可能希望在运行时设置eclipsefp来执行您的程序,我不记得如何执行,可能在“运行”菜单的某个位置。

        3
  •  6
  •   kiritsuku    12 年前

    在项目资源管理器中,单击项目,然后单击鼠标右键并选择 Run As > Run Configurations > Run As Haskell Application .

        4
  •  4
  •   hiena    15 年前

    从未使用过Eclipse,但你看到的是 ghci ,ghci是ghc的交互环境。您的模块在ghci中成功加载,您可以在ghci中键入main来运行程序的函数main,实际上您可以通过这种方式调用程序的任何函数。

        5
  •  4
  •   L Hand    14 年前

    在Eclipse运行菜单中,选择运行配置。在“自动化”选项卡下,在命令中输入main以在启动时运行,它将按您的期望执行。