Haskell에서 모듈 이름과 모듈을 포함하는 파일 이름은 동일해야합니다. 문제는 파일 이름뿐만 아니라 모든 경로가 포함되어 있으므로 (AFAIK)가 모듈 계층 구조와 일치하는 디렉토리 구조를 만들 수 있다는 것입니다.
예를 들어, 내가 있어야한다고 생각하는 모듈 M에 데이터 유형 D를 작성한다고 가정 해 보겠습니다 Database
. 모듈 이름은 Database.M.T
. 내 기본 디렉토리는 이미 M (패키지 이름)이라고 불리기 때문에 다음과 같은 디렉토리 구조로 끝납니다.
M:
|
+-- Database:
|
+-- M:
|
+ A.hs
그냥 할 수 있습니까?
M:
|
+ A.hs
그리고 수출 M
로 Database.M
?
이것은 심볼릭 링크를 사용하거나 짧은 점과 마찬가지로, 현재 불가능 Database.M
에 M
이식 버전 제어 다양한 문제가 발생하는 것이다.
Simon Marlow는 몇 달 전에 별칭에 대한 지원을 추가하기 위해 GHC에 대한 새로운 옵션을 제안했습니다. http://www.haskell.org/pipermail/glasgow-haskell-users/2014-April/024920.html
그의 생각은 옵션 ghc
의 새로운 변형으로 실행할 수 있다는 것이 었습니다 -i
.
ghc -iDatabase.M=M
그런 다음 M
폴더의 모든 항목 Database.M
이 원하는대로 처리됩니다 .
파일 의 hs-source-dirs
필드에 새 옵션을 넣을 수도 있습니다 .cabal
.
그러나 제안에 대한 여러 가지 이의가 있었기 때문에 지금은 철회했습니다. 주요 문제는 복잡성을 추가하고이를 cabal
지원하기 위해 몇 가지 다른 도구 (예 :)도 변경해야한다는 것입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다