Haskell Привет, мир, затмение IDE - PullRequest
7 голосов
/ 03 августа 2009

У меня проблемы с запуском "Hello World" с 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 ]

12 голосов
/ 03 августа 2009

Я не использовал EclipseFP несколько лет, так что имейте это в виду.

Похоже, что EclipseFP загружает GHCi в консоль. GHCi - это интерактивная оболочка Haskell, в которой вы можете оценивать простые выражения. Он также явно загружал ваш модуль Main, поэтому вы можете использовать GHCi для вызова функций в вашем модуле.

Если вы введете :main в консоли, она запустит вашу программу и выведет «Hello world!», Вы также можете вызвать другие функции, которые вы определили в своей программе, или стандартные функции Haskell.

Однако вы можете настроить EclipseFP для запуска вашей программы при запуске, и я не могу вспомнить, как это сделать, возможно, где-то в меню «Выполнить».

6 голосов
/ 30 сентября 2012

В проводнике проекта щелкните свой проект, затем щелкните правой кнопкой мыши и выберите Run As > Run Configurations > Run As Haskell Application.

4 голосов
/ 13 декабря 2010

В меню запуска eclipse выберите настройки запуска. На вкладке Automation введите main в команде для запуска при запуске, и она будет делать то, что вы ожидаете.

4 голосов
/ 03 августа 2009

Никогда не использовал eclipse, но вы видите ghci , GHCi - это интерактивная среда GHC. Ваш модуль был успешно загружен в ghci, вы можете ввести main в ghci, чтобы запустить функцию main вашей программы, фактически вы можете вызвать любую функцию вашей программы таким образом.

3 голосов
/ 03 августа 2009

Из того, что я мало видел в EclipseFP, это просто интерфейс для GHCi. Это означает, что, на мой взгляд, нет причин использовать его, так как вы получаете все плохое от Eclipse (раздувание, бездонная жажда памяти, скорость черепахи на седативных средствах), причем абсолютно без хорошо (индексация, отладчик, управление вашим набором инструментов).

Так какую ошибку ты совершил? Вы использовали Eclipse. Все нормально - легко ошибиться. Если бы вы изучали Scala, возможно, Eclipse был именно тем путем. Но с Haskell лучше запускать GHCi из командной строки и использовать редактор, такой как Notepad ++ (с достойной подсветкой синтаксиса). На этот раз комбинация командной строки / редактора предпочтительнее не потому, что она мачо, а потому, что она более полезна.

Если у вас обязательно должна быть IDE, комплектации сейчас немного, но вот что я нашел.

Leksah
WinGHCi

И, конечно, любой найденный в ответе на этот вопрос.

Я не использовал его, но Лекса, похоже, является самой многофункциональной IDE на сегодняшний день. Лично я придерживаюсь Notepad ++ и командной строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...