Czy można napisać moduł w Haskell, który re-eksportuje moduł oprócz eksportowania wszystkiego widoczny w środku?Moduł aktualnego eksportu Haskell z dodatkowym importowanym modułem
Rozważmy następujący moduł:
module Test where
import A
f x = x
Ten moduł eksportuje wszystko zdefiniowane wewnątrz, więc eksportuje f
ale nic nie reeksport importowane z A
.
Z drugiej strony, jeśli chcę, aby ponownie wyeksportować moduł A
:
module Test (
module A,
f
) where
import A
f x = x
Czy istnieje sposób na reeksport A
i eksport wszystko zdefiniowany w Test
bez konieczności wyraźnie napisać każdy funkcja zdefiniowana w ramach Test
?
+1 Tak, tak proste! –
Exploited [tutaj] (https://github.com/ndmitchell/tagsoup/commit/1f1fff1e9ce4bd3233a2ef9607287b5018b516a7#diff-430b750c0b6fd0e9461c82565a1345dcR8). – PyRulez
Jakiekolwiek informacje na temat tego, dlaczego to działa? (Każda dokumentacja?) – PyRulez