103 votes

Exportation en Haskell du module actuel avec un module supplémentaire importé

Est-il possible d'écrire un module en Haskell qui réexporte un module en plus de tout exporter ? 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, donc il exporte f mais ne réexporte pas ce qui est importé depuis 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 l'exportation tout défini dans Test sans avoir besoin d'écrire explicitement chaque fonction définie au sein de Test ?

147voto

Thomas M. DuBuisson Points 31851

Il existe une solution simple, il suffit d'exporter le module à partir du module :

module Test
    ( module Test
    , module A
    ) where

import Prelude()
import A
f x = x

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X