Cabal(소프트웨어)

Cabal (software)
카발
원저작자아이작 포토츠니 존스
개발자던컨 쿠츠
초기 릴리즈2005년 1월, 17년 전(2005-01)
안정된 릴리스
3.6.2.0[1] / 2021년 10월, 10개월 전(2021-10년)
저장소
기입처하스켈
운영 체제Unix와 같은 Microsoft Windows
크기0.4 메가바이트
이용가능기간:영어
유형응용 프로그램 수준 패키지 관리자
면허증.BSD
웹 사이트www.haskell.org/cabal/

Haskell Cabal(애플리케이션라이브러리를 구축하기 위한 공통 아키텍처)소프트웨어 패키지의 패키징과 배포를 지원합니다.Haskell 플랫폼에 포함되어 있습니다.

역사

Cabal은 Haskell 소프트웨어 및 모듈의[citation needed] 패키징을 단순화하기 위해 도입되었습니다.GHC의 내부 매니저 ghc-pkg과 함께 Glasgow Haskell 컴파일러 버전 6.4에 기본 패키지 [2]매니저로 추가되었습니다.실제 바이너리[3] 캐벌과 라이브러리[4] 캐벌은 서로 다른 패키지로 개발됩니다.

개발 기간 내내 샌드박스[citation needed] 등 이른바 '카발 지옥'에서 벗어날 수 있는 추가 기능을 확보했습니다(아래 참조).

사용하다

Cabal 패키지는 표준 메타데이터 및 빌드 프로세스를 제공합니다.따라서 Cabal 패키지를 CPAN과 같은 소프트웨어 Hackage 커뮤니티 저장소에 업로드하는 툴을 개발하거나 Hackage에서 [3]원하는 패키지를 자동으로 다운로드, 컴파일 및 설치할 수 있습니다.

비판

Cabal은 이전에 글로벌 패키지 저장소를 기본적으로 사용했기 때문에 종속성이 있는 버전 경합이 Cabal hell로 이어질 수 있습니다.이 상태에서는 기존 패키지를 재설치하지 않으면 다른 패키지가 파손됩니다.[5][6]

2014년에는 Stackage라고 하는 보다 안정적인(그러나 출혈은 적은) Hackage 변형이 개발되었습니다.[7] 2015년에는 Haskell LTS와[citation needed][8][9]스택으로 확장되어 문제를 공유하지 않았습니다.

Cabal v3는 [1]2019년에 출시되었습니다.새로운 빌드 스타일은 Nix 패키지 [10]매니저와 유사한 방법으로 Hell을 해결합니다.

레퍼런스

  1. ^ a b "Cabal changelog". Retrieved 2021-11-19.
  2. ^ "1.4. Release notes for version 6.4". GHC 6.4 user manual. Retrieved 2016-01-12.
  3. ^ a b "cabal-install: The command-line interface for Cabal and Hackage". Hackage. Retrieved 12 January 2016.
  4. ^ "Cabal: A framework for packaging Haskell software". Hackage. Retrieved 12 January 2016.
  5. ^ "Cabal/Survival - HaskellWiki". HaskellWiki. Retrieved 12 January 2016.
  6. ^ "How we might abolish Cabal Hell". Well-Typed - The Haskell Consultants. Retrieved 12 January 2016.
  7. ^ "Stackage Server". FP Complete. Retrieved 12 January 2016.
  8. ^ "ANNOUNCING: first public beta of stack". FP Complete. Retrieved 12 January 2016.
  9. ^ "What do Haskellers want? Over a thousand tell us". Package management with cabal is the single worst aspect of using Haskell. Asked if improvements to package management would make a difference to their future choice of Haskell for a project, 38% said it would be "crucial" and a further 29% said it would be "important". Comments connected cabal with words like hell, pain, awful, sucks, frustrating, and hideous. Only this topic showed such grave dissatisfaction.
  10. ^ Mikhail Glushenkov. "Cabal 2.0". Retrieved 2021-01-25.

외부 링크