Насколько мне известно, вы не можете иметь несколько модулей в одном файле. Этот ответ , кажется, подтверждает это.
Однако вы можете создать второй модуль, реэкспортирующий некоторые функции.Итак, сначала мы создаем файл NameForTesting.hs
с:
-- NameForTesting.hs
module NameForTesting where
important :: Int
important = 42
functions :: Int -> Int
functions = (42 +)
foo :: Int
foo = 21
Затем мы можем создать второй файл Name.hs
, который импортирует модуль NameForTesting
, но экспортирует только important
и functions
:
-- Name.hs
module Name(<b>important, functions</b>) where
import NameForTesting
Модуль Name
будет экспортировать только important
и functions
, импортированные из модуля NameForTesting
.