Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Should monoidal-containers split into lens and these subpackages? #75

Open
emilypi opened this issue Jan 22, 2021 · 2 comments · May be fixed by #80
Open

Should monoidal-containers split into lens and these subpackages? #75

emilypi opened this issue Jan 22, 2021 · 2 comments · May be fixed by #80

Comments

@emilypi
Copy link

emilypi commented Jan 22, 2021

Related to #73 is the idea that monoidal-containers should not bring in the these (lower dep footprint) or lens (higher dep footprint) universes. Rather, it would be nice to punt them to subpackages like these-lens so that the underlying core newtypes + api can be used in other packages without having to inherit the footprint. I would like to build upon this library if possible, but lens is a non-starter my project. It would make #73 much cleaner as well.

Thoughts?

@endgame
Copy link

endgame commented Aug 24, 2021

Modern versions of these have a very tiny dep footprint, so you'd be defining instances on classes provided by semialign. Which doesn't have a particularly large dep footprint either now that indexed-traversable exists. I have no objection to lens in my projects, but I think a separate package that exports instances for things in large-footprint packages like lens is probably a good idea.

I mean, the better idea is to go back in time and put the good Monoid instances into containers.

@ilyakooo0 ilyakooo0 linked a pull request Aug 28, 2021 that will close this issue
@adamgundry
Copy link

I would also like to see lens instances moved to a separate package. (I tripped over this by trying to compile ghc-debug-brick and wondering why it was pulling in no fewer than two lens libraries...)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants