I’m looking for good examples of Haskell libraries with multiple, possibly nested modules to see how they have handled project exports and ergonomic imports for library clients.
I notice some projects provide a project-specific “prelude”, allowing something like:
import MyProject.Core
and possibly:
import MyProject.Extras
if needed. I think to do this the Core
module must be importing and reexporting the “core” internal library modules? I wonder if that module needs to also reexport third-party modules used in the module type definitions?
Any advice much appreciated.