
Am Montag, den 30.07.2018, 15:03 -0400 schrieb David Menendez:
I think there are several ideas being discussed here, and it may be helpful to distinguish them.
1. Two packages may unintentionally include modules with the same name, making it difficult to use both at once 2. Module names should be organized in some logical manner 3. A package may want to import a module without tying it to a specific package
There is also the situation where the package name isn’t essential and shouldn’t get in the way when naming modules. For example, there are a lot of monad transformers in the world. The `transformers` package implements some of them; others are added by other packages. It is good if the module that implements a certain kind of monad transformer has a name of the form `Control.Monad.Trans.⟨type-of-transformer⟩`. Having the package name in the module name would be like revealing an implementation detail. All the best, Wolfgang