2017-12-19 2 views
1
module Hart 
    (module Hart 
) 
where 

import Control.Monad.Trans.Reader (runReaderT, ReaderT, ask) 
import Control.Monad.Trans (lift) 

나는 현재 위에서 정의한 바와 같습니다. ask의 기능 만으로 전송하려면 Hart 모듈 외에 Control.Monad.Trans.Reader의 기능을 보내시겠습니까?가져온 모듈에서 함수를 내보내려면 어떻게해야합니까?

내가 아래 할 수있는 생각 -하지만 오류 발생 : 코멘트에 언급 @leftaroundabout으로

module Hart 
    (module Hart 
    , module Control.Monad.Trans.Reader (ask) 
) where 
+2

음,'모듈 하트 '(모듈 하트 , 요청)을? – leftaroundabout

+0

고맙습니다! –

답변

1

, 재수출 기능에, 당신은 단순히 내보내기 목록에서 해당 기능을 포함를 :

module Hart 
    (module Hart 
    , ask 
) where 
... 
import Control.Monad.Trans.Reader (ask) 

이 기능은 내보내기에서 네임 스페이스가 캡처되지 않는다는 경고와 함께 규정 된 가져 오기에서도 작동합니다.

module Hart 
    (module Hart 
    , ask 
    , T.null 
) where 
... 
import Control.Monad.Trans.Reader (ask) 
import qualified Data.Text as T 

그리고 다른 파일에

:

module Other where 

    import Hart (ask, null) 
관련 문제