Cabal - выставлять все модули при создании библиотеки

Можно ли сообщить Cabal об экспорте всех модулей при создании библиотеки?

Сейчас я должен предоставить очень длинный список модулей в разделе Exposed-modules файла конфигурации кабала.

Ответ 1

Современный ответ stack + hpack вместо использования явной конфигурации cabal. Он может автоматически выставлять пакетные модули и предоставляет множество других улучшений.

Ответ 2

Вы должны перечислить все модули в файле конфигурации cabal. В вашем случае вы просто поместите список модулей после exposed-module:. Нет простого способа написать список модулей.

Cabal не может автоматически находить файлы, которые являются частью исполняемого файла или библиотеки, поэтому он зависит от списка модулей в файле конфигурации. В отличие от GHC, cabal не может найти модули на основе операторов импорта в исходном коде. Если вы не перечислите каждый модуль, вы можете создать проект (потому что GHC может найти исходные файлы), но другие команды, такие как cabal sdist, не будут обращаться к исходным файлам, которые не указаны.