최근 수정 시각 : 2024-11-03 15:58:35

Haskell/개발 환경


파일:상위 문서 아이콘.svg   상위 문서: Haskell
1. 개요2. GHCi3. IDE4. 패키지 관리
4.1. Cabal4.2. Stack
5. 포매터6. API 검색 엔진7. 외부 링크

1. 개요

이 문서는 하스켈 개발 환경에 사용하는 도구 목록을 나열한 것이다.

2. GHCi

GHCi는 GHC의 대화형 환경으로, 하스켈 표현식을 대화식으로 평가하고 프로그램을 해석할 수 있다. 몇몇 하스켈 교재에서는 아래와 같이 프롬프트 문자열로 ghci> 등을 사용한다. 아래처럼 표현식 평가 결과를 바로 확인할 수 있다.
ghci> 1 + 1
2
컨트롤 + D를 누르면 GHCi를 종료할 수 있다.

3. IDE

  • macOS용 IDE인 Haskell for Mac앱 스토어에서 구입할 수 있다. 주로 텍스트 파일을 작성하고 GHC로 컴파일하는 번거로움(이라곤 하지만 테스트할 땐 :l 하나면 끝이다.)을 일반 개발 환경처럼 편하게 해준다.
  • IntelliJ IDEA에도 IntelliJ-Haskell이라는 이름의 플러그인이 있다. IntelliJ 플랫폼에 힘입은 강력한 코드 컴플리션 기능과 리팩토링 기능을 제공한다.
  • HLS(Haskell Language Server)는 하스켈 IDE를 지원하는 공식 LSP(Language Server Protocol) 엔진이다.[1]
  • 그 외에 Visual Studio Code, Emacs 등의 텍스트 에디터 역시 플러그인 형식으로 하스켈 코드 편집을 지원한다.

4. 패키지 관리

4.1. Cabal

Cabal은 하스켈 라이브러리와 프로그램을 빌드하고 패키징하는 시스템이다. Cabal은 Common Architecture for Building Applications and Libraries의 약자이다.
  • 명령어를 이용해 원하는 패키지를 설치할 수 있다. 예를 들어 random이라는 이름의 패키지를 설치하려면 아래와 같이 입력한다.
    {{{cabal install random
}}}
  • 시스템에 설치된 패키지 목록을 보려면 다음과 같이 입력한다.
    {{{cabal list --installed
}}}

4.2. Stack

5. 포매터

6. API 검색 엔진

7. 외부 링크



[1] https://github.com/haskell/haskell-language-server

파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 문서의 r433에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r433 (이전 역사)
문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

분류