Quiero escribir un módulo que reexporte algún módulo que haya importado calificado. Algo como esto:GHC se niega a exportar los módulos calificados
module Foo.A
(module Foo.B
, module Foo.C
) where
import qualified Foo.B
import qualified Foo.C
-- bunch of code using Foo.B and Foo.C here
Esto parece que debería funcionar; sin embargo, GHC imprime advertencias sobre las exportaciones:
Foo/A.hs:2:5:
Warning: the export item `module Foo.B' exports nothing
Foo/A.hs:3:5:
Warning: the export item `module Foo.C' exports nothing
Y GHCI se niega a cargar exportaciones de ellos.
Puedo resolver esto haciendo que las importaciones no estén calificadas, pero luego es probable que surjan conflictos de nombres entre esas importaciones y el código del módulo principal.
¿Hay alguna forma de hacer que GHC exporte estos módulos?
Pero es posible volver a exportar símbolos calificados; por ejemplo, 'importación calificada Foo.B' me permitirá hacer' módulo Foo.A (Foo.B.sym) '. ¿Por qué no es esto posible con los módulos? No estoy exportando dos símbolos con el mismo nombre; cualquier cosa conflictiva es interna al módulo. –