
Hi! There are also disadvantages in having the module name beginning with the package name. With that system, extending subtrees of the module tree is made impossible. In the incremental-computing package, for example, we add incrementalization to several common data types. We do this by adding modules like Data.Sequence.Incremental. With your approach, we would have to change that name to something like Incremental.Sequence. However, if someone implements some new data type in a package amazing- type and adds incrementalization support right away, the incremental version would be in AmazingType.Incremental. So the order of the type name and the string Incremental would generally depend on whether a type was implemented before or after the incremental-computing package was created. In addition, changing the package structure would result in changing the module names. For example, Edward Kmett once split his category theory package into several small packages; under your system, this would result in massive module name changes and consequently compatibility issues. All in all, I think separating package names from module names is a good idea. The distribution of modules among packages seems more like an implementation detail to me and is a lot dependent on historical accident. It should not pollute module naming. All the best, Wolfgang Am Dienstag, den 24.07.2018, 09:12 -0400 schrieb Daniel Cartwright:
I am of the opinion that at least most packages should start module names with their package name. Hackage guarantees uniqueness of package names, so this makes sense. The whole Data/Control/Numeric thing seems arbitrary. I would rather see Base.List, Base.Applicative, etc. This has multiple benefits, such as non-overlapping module names by construction (assuming the use of hackage library code), and knowing where the package came from immediately.
On Tue, Jul 24, 2018, 9:06 AM Marco Zocca
wrote: Hi all,
I was wondering if there are plans to extend/revisit/tidy up the module name system (https://wiki.haskell.org/Hierarchical_module_names) in view of Haskell 2020.
I'm mostly concerned with scientific/numerical applications, where I find the current state of things to be a bit chaotic (see Numeric/Numerical/Optimisation/Optimization etc.).
I would be glad to help out, and gather intelligence from the community as well via e.g. a poll.
Best, Marco (github.com/ocramz) _______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
_______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries