2012-07-31 3 views
2

내보낼 모듈의 엔티티에 선언 대신 엔티티에 추가 할 수 있습니까?가져온 엔티티에 대한 대용량 코멘트

12 가지 유형을 선언하는 숨겨진 모듈이 있고 최종 사용자가 보게 될 부분 만 내보내는 또 다른 모듈이 있습니다. 문서를 숨겨진 모듈이 아닌 노출 된 모듈에 넣는 것이 논리적 일 것입니다. 하지만 어떻게해야할지 모르겠다. ...

+1

형식이 선언 된 모듈에 설명서를 두는 것이 더 바람직하다고 생각합니다. Haddock은 올바른 구조의 doc 파일을 만듭니다. 예를 들어'A','B'와'C '(문서 포함)를 수출하는'Foo' 모듈과'A' 만 재수출하는'Bar' 모듈을 가지고 있다면'Bar'에 대한 doc 파일 자동으로 모듈'Foo'에서 복사 된'A'에 대한 관련 문서를 포함합니다. –

+0

@ChrisTaylor 나는 그것이 _work_ 일 것이라는 것을 알고있다, 그것은 조금 우아하지 않다. 나는 주변에 방법이 없다면 그것을 할 것이지만, 더 좋은 방법이 먼저 있는지 알고 싶다. – MathematicalOrchid

+0

크리스 테일러 세컨드. 사람들이 당신의 출처를 읽을 때, 그들은 코드에 의해 문서를 원할 것입니다; 그건 내가 생각하기로는 문서 마크 업과 코드를 혼합하는 것입니다. 방금 배운 관련 팁 : 내보내기되지 않은 하위 모듈에 코드를 넣고 프로젝트에서 다른 가져 오기되지 않은 모듈의 함수를 참조하려는 경우 'Control.Foo.bar'와 같은 전체 경로를 제공 할 수 있습니다. 텍스트 "bar"와 연결된 링크로 표시됩니다. – jberryman

답변

5

아니오, 불가능합니다. 함수 인자 별, 타입 PARAM 문서를 가질 수 있습니다, 당신은 수 있다면 문서 일치 할 것 :

  1. 이 한 버전이 다른
  2. 가 불일치를 소개 우선 다른 위치에 다른 버전을 쓰기 인수 문서 : 함수의 주요 문서 문자열을 무시하면 어떻게됩니까? 인수 doc 문자열을 제거해야합니까?

다음 파일 :

module Bla 
     (-- * Fooishness 

     -- | This is 'foo'. It is not 'bar'. 
     foo 
     , -- * Barishness 

     -- | This is 'bar'. It is sometimes a little 'foo'. 
     bar 
     ) where 

-- | The actual foo documentation 
foo :: a --^The a 
    -> b --^The b 
    -> c 
foo = undefined 

-- | The actual bar documentation 
bar :: a 
bar = undefined 

... 수율이 문서 :

Haddock documentation

당신은 당신이 가지 기능 문서 문자열을 에뮬레이트하는 섹션의 주석을 사용할 수 있습니다 볼 수 있듯이 그러나 형식 서명에 따라 함수 문서 주석을 사용하는 경우에만 설명서가 올바르게 생성됩니다.

+0

명확해야 함 : 동일한 엔티티에 대해 다른 문서를 작성하려고하지 않습니다. 모든 문서를 하나의 파일, 즉 노출 된 모듈에 넣고 싶습니다. 좀 더 논리적 인 느낌이 들기 때문입니다. Haddock이 엔티티의 "홈 모듈"을 조정할 수있는 방법이 있다는 것을 알고 있습니다. – MathematicalOrchid

0

음, 생각해 보니 노출 된 모듈에 newtype을 쓸 수있었습니다. 런타임 오버 헤드가 없으므로 코드가 좀 더 지저분 해집니다. ...

관련 문제