2013-08-03 3 views
71

하스켈에서 모듈을 다시 쓰고, 을 모두 내 보내며 모듈을 다시 내보낼 수 있습니까?이 보이지 않습니까?하스켈은 추가 된 가져온 모듈을 가지고 현재 모듈을 내보내기합니다.

모듈 다음을 고려 있습니다 :

module Test where 
import A 

f x = x 

이 모듈은 모든 내부을 정의 수출, 그래서 f 수출하지 않지만 다시 수출 아무것도 A에서 수입. 한편

, 내가 모듈 A 다시 내보낼 경우 :

module Test (
    module A, 
    f 
) where 
import A 

f x = x 

을 다시 수출 할 수있는 방법을 명시 적으로 모든을 쓸 필요없이 A 및 수출 Test에 정의 모든가 있는가 함수가 Test 안에 정의되어 있습니까?

답변

107
간단한 해결책이있다

, 바로 모듈에서 모듈을 수출 : 너무 간단

module Test 
    (module Test 
    , module A 
    ) where 

import Prelude() 
import A 
f x = x 
+1

+1 그래서! –

+0

착취 [여기] (https://github.com/ndmitchell/tagsoup/commit/1f1fff1e9ce4bd3233a2ef9607287b5018b516a7#diff-430b750c0b6fd0e9461c82565a1345dcR8). – PyRulez

+0

또한이 작동 원리에 대한 통찰력이 있으십니까? (모든 문서는?) – PyRulez

관련 문제