Czy jest możliwe napisanie modułu w Haskell, który wyeksportuje moduł oprócz eksportu wszystkiego, co jest widoczne w środku?
Rozważmy następujący moduł:
module Test where
import A
f x = x
Ten moduł eksportuje wszystko, co jest zdefiniowane w środku, więc eksportuje, f
ale nie reeksportuje niczego importowanego z A
.
Z drugiej strony, jeśli chcę ponownie wyeksportować moduł A
:
module Test (
module A,
f
) where
import A
f x = x
Czy istnieje sposób na ponowne wyeksportowanie A
i wyeksportowanie wszystkiego, co zostało zdefiniowane w programie, Test
bez konieczności jawnego pisania każdej funkcji zdefiniowanej w programie Test
?