Est-il possible d'écrire un module dans Haskell, qui réexporte un module en plus d'exporter tout visible à l'intérieur?
Considérons le module suivant:
module Test where
import A
f x = x
Ce module exporte tout défini à l'intérieur, il exporte donc f
mais ne réexporte rien importé de A
.
Par contre, si je veux réexporter le module A
:
module Test (
module A,
f
) where
import A
f x = x
Existe-t-il un moyen de réexporter A
et d'exporter tout défini dans Test
sans avoir besoin d'écrire explicitement toutes les fonctions définies dans Test
?
Il existe une solution simple, il suffit d'exporter le module depuis le module:
module Test
( module Test
, module A
) where
import Prelude()
import A
f x = x