
As someone who reads documentation, I do want to see where they came from.
The source (not code, but origin) of a module is not an implementation
detail, it's a place for documentation. This naming scheme is also
consistent in its own right.
On Tue, Jul 31, 2018, 9:29 AM Wolfgang Jeltsch
Am Dienstag, den 31.07.2018, 08:51 -0400 schrieb Daniel Cartwright:
"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 they are certain monad transformers. The latter is expressed by the *consistent* naming Control.Monad.Trans.⟨type-of-transformer⟩.
All the best, Wolfgang _______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries