You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We export ^., .~, type Lens, and some other useful lens-related things. Currently
As in #182, this leads to a dependency on microlens (which is not good), and to names conflict with Control.Lens (which is also bad), so those reexports are marked as deprecated, and in #268 we want to completely remove them.
I still think that in many projects users want to simply use 1-2 predefined lenses (such as e.g. Data.Aeson.Lens), and it's nice to have things like .~.
To avoid extra dependencies, we can implement those operators by ourselves.
To avoid name conflicts, we can export those operators in Universum.Lens which would be not exported by Universum by default.
The text was updated successfully, but these errors were encountered:
Problem:
As in #290, we want to export lens-related operators
like `(^.)` or `(^?)`, but we don't want to depend on
`microlens` or `lens`.
Solution:
Implement those operators by ourselves, export them in
a separate module to avoid names conflict.
Remove those operators from `Universum` reexports.
We export
^.
,.~
,type Lens
, and some other useful lens-related things. CurrentlyAs in #182, this leads to a dependency on
microlens
(which is not good), and to names conflict withControl.Lens
(which is also bad), so those reexports are marked as deprecated, and in #268 we want to completely remove them.I still think that in many projects users want to simply use 1-2 predefined lenses (such as e.g.
Data.Aeson.Lens
), and it's nice to have things like.~
.To avoid extra dependencies, we can implement those operators by ourselves.
To avoid name conflicts, we can export those operators in
Universum.Lens
which would be not exported byUniversum
by default.The text was updated successfully, but these errors were encountered: