
"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."
Not sure I agree that that is necessarily the case.
Transformers.ExceptT Transformers.ReaderT These.ChronicleT
This lets me know exactly where these transformers came from, just by reading the module name. But I don’t want to see where those transformers “came from” but that
Am Dienstag, den 31.07.2018, 08:51 -0400 schrieb Daniel Cartwright: they are certain monad transformers. The latter is expressed by the cons istent naming Control.Monad.Trans.⟨type-of-transformer⟩. All the best, Wolfgang