2013-08-03 26 views
71

İçerisinde görülebilir görüntünün yanı sıra bir modülü yeniden ihraç eden Haskell'e bir modül yazmak mümkün mü?Haskell dışa aktarma modülünü ek içe aktarılan modülle dışa aktar

modülü aşağıdakileri dikkate sağlar:

module Test where 
import A 

f x = x 

Bu modül her şey içeride tanımlanan ihracat, bu nedenle f ihraç değil, yeniden ihracat şey A ithal. Öte yandan

, ben modül A yeniden ihraç etmek istiyorsanız:

module Test (
    module A, 
    f 
) where 
import A 

f x = x 

yeniden ihraç için bir yol açıkça her yazmaya gerek kalmadan A ve ihracat Test tanımlanan şeyi var mı işlev Test içinde tanımlanmış?

cevap

107
basit bir çözüm yoktur

, sadece modülden modüle ver: çok basit

module Test 
    (module Test 
    , module A 
    ) where 

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

+1 Yani! –

+0

Exploited [burada] (https://github.com/ndmitchell/tagsoup/commit/1f1fff1e9ce4bd3233a2ef9607287b5018b516a7#diff-430b750c0b6fd0e9461c82565a1345dcR8). – PyRulez

+0

Ayrıca, bunun neden işe yaradığına dair herhangi bir fikir? (Herhangi bir belge?) – PyRulez

İlgili konular