I recently read the documentation for elm-lang/core, and was a bit puzzled to find a Color module in there. This in turn, made me come up with a series of questions.
* Is Color a core concern? I would say no. In my projects (not only in Elm) I have yet to find need of a Color module (would probably be different if I didn't keep css in .css files). That's not to say that I'm representative of Elm developers at large, or that Color isn't useful, I just don't think it has a place in the core package. One could argue that Elm is about frontend development, which has to do with UI, which again has use of Color. Sure. But Html and Http, the perhaps most important modules for frontend development are not in the core package, so why should Color be there? * What are the downsides? The core package is required in every project, this means that core is compiled in every single Elm application. One could argue that the core package should be as small as possible, because Elm developers shouldn't pay for what they don't use. One could also argue that having Color in core poses an increased maintenance burden on the core developers, who are already overworked as it is. While true, none of these arguments pose a big deal, because: 1. Color is probably (not tested) not so big that it has a noticeable effect on compile times. 2. Unused code is easily stripped away by a minifier like UglifyJS. 3. The Color module is pretty complete, and I don't see it changing much in the future, so the maintenance "burden" is probably very small. * What are the upsides? It's probably valuable to have a de-facto Color module for Elm (again, I don't make use of it so I don't know). On the other hand, all other modules which would be good to have as the "one, true" module are external modules (websockets, http, html...). * Do you have a paper thin argument? Sure. Having modules in core that don't fit the "core concern" description opens the door for discussing adding more modules which also don't match the "core concern" description. Evan and other core developers are pretty good at saying no though, so I'm not worried about this. * What would I propose? I propose that Color should be moved from the core package and placed in a package of its own. There are advantages to doing this (though marginal) and I believe it outweighs the disadvantages (those who use Color have to add a line to their elm-package.json). It's not an important change, and shouldn't be a priority, but I still think it should be made. What do other people think? -- You received this message because you are subscribed to the Google Groups "Elm Discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.