2009-08-03 3 views
7

eclipseFP 및 하스켈과 함께 "hello world"를 얻는 데 문제가 있습니다.하스켈 Hello world, 일식 IDE

I가 다음 코드,

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> 

내가 뭘 만들고있어?

답변

3

이클립스FP는 내가 본 것에서부터 GHCi를위한 인터페이스 일 뿐이다. 이것은 내가 사용하는 이유가 없다는 것을 의미합니다. 이클립스의 모든 나쁜 점 (부 풀기, 기억에 대한 밑바닥이없는 갈망, 거북이에 대한 진정제의 속도)을 얻었 기 때문에, 의미하는 바는 전혀 없습니다. 좋은 점 (인덱싱, 디버거, 툴 스택 관리).

그래서 멍청한 짓을 한거야? 당신은 이클립스를 사용했다. 괜찮습니다. 실수하기 쉽습니다. 스칼라를 배웠다면, 이클립스는 갈 길이 멀다. 그러나 Haskell을 사용하면 명령 줄에서 GHCi를 실행하고 Notepad ++와 같은 편집기를 사용하는 것이 좋습니다 (괜찮은 구문 강조 표시가 있음). 한번은 커맨드 라인/에디터의 조합이 사치스러운 것이 아니라 더 유용하기 때문에 바람직합니다.

절대적으로 IDE가 있어야하는 경우 픽업은 현재 거의 없지만 여기에 나와 있습니다. WinGHCi

그리고 물론

Leksah

, 어느 this question.

나는 그것을 사용하지 않은에 대한 답변에서 찾을 수 있지만, Leksah은 현재까지 가장 풍부한 기능을 갖춘 IDE 것으로 보인다. 개인적으로 저는 메모장 ++와 명령 줄을 고수하고 있습니다.

+8

-1 : 질문에 대답하지 않았습니다. 이클립스 또는 아니 이클립스, 솔루션은 다른 대답이 설명하는 것과 동일합니다. –

+0

@ Jørgen : 음, OP가 내 대답을 고맙게 여긴 것 같아서, 나는 너의 소금물로 너의 kibbitzing을 가져갈 것이다. 그러나 그렇게하도록 요청받을 때 실행 파일을 실행할 수없는 플러그인 유틸리티에 의문을 제기하는 것은 불가능하다고 생각합니다 *. 이클립스는 여기에서 매우 중요한 문제이다. – rtperson

+0

EclipseFP에서 이것을 시도해보십시오. 하스켈 프로그램으로 실행하도록 요청하면 문자열이 실행되고 출력됩니다. ghci로 실행하면 ghci로로드됩니다. 그것은 예상되는 것을합니다. 문제는 ghci를 eclipse로 실행하지 않는 것입니다. –

4

이클립스를 사용하지 않았지만 보시는 것은 ghci입니다. GHCi는 GHC의 대화식 환경입니다. 모듈이 ghci에 성공적으로로드되었으므로 ghci에 main을 입력하여 프로그램의 main 함수를 실행할 수 있습니다. 실제로 프로그램의 모든 함수를 호출 할 수 있습니다.

12

수년 동안 EclipseFP를 사용하지 않았으므로이를 염두에 두십시오.

EclipseFP가 콘솔에서 GHCi를로드 중입니다. GHCi는 간단한 식을 평가할 수있는 대화 형 Haskell 셸입니다. 또한 분명히 모듈 Main을로드 했으므로 GHCi를 사용하여 모듈의 함수를 호출 할 수 있습니다.

콘솔에 :main을 입력하면 프로그램이 실행되고 "Hello world!"가 출력되며 프로그램이나 표준 하스켈 함수에서 정의한 다른 함수를 호출 할 수도 있습니다.

그러나 실행할 때 실행하는 프로그램을 실행하도록 EclipseFP를 설정하면 "실행"메뉴의 어딘가에있는 것을 기억할 수 없습니다.

+3

콜론이 없으면 "주"라고 생각합니다. – yairchu

+12

'main'을 입력하면 주 기능이 호출됩니다. 그러나': main'을 타이핑하면'getArgs'로 읽을 수있는 인자를 전달할 수 있습니다. 이것은 종종 명령 행 프로그램에 유용합니다. –

+0

실행시 응용 프로그램을 자동으로 실행하는 방법을 보려면 http://stackoverflow.com/a/4427689/750216을 확인하십시오. –

4

eclipse 실행 메뉴에서 실행 구성을 선택하십시오. 자동화 탭에서 실행시 실행할 명령에 main을 입력하면 예상 한대로 작동합니다.

6

프로젝트 탐색기에서 프로젝트를 클릭 한 다음 마우스 오른쪽 버튼을 클릭하고 Run As > Run Configurations > Run As Haskell Application을 선택하십시오.