Provides “Iso”s & ‘Len’s for “Data.Diverse.Many” and ‘Prism’s for “Data.Diverse.Which”.
Refer to ManySpec.hs and WhichSpec.hs for example usages.
Changelog
-
1.0.0.1
- Fixed missing exports of the new lens classes.
-
1.0.0.0
- Removed overlapping instances of Data.Generics lens
- Using typeclass instead of plain functions so that lens can be used for other data types
- Added default implementations for some of these typeclasses using Data.Generic typeclasses.
- Breaking change: the xxx’ version of functions are now consistently the simpler or non-polymorphic version - This is more consistent with ‘Control.Lens’ as well.
- This means the following are swapped:
item
, item'
itemL
, itemL'
itemTag
, itemTag'
itemN
, itemN'
project
, project'
projectL
, projectL'
projectN
, projectN'
-
0.5.2.0
- Added itemTag and facetTag that also tag/untags the field.
- Added overlapping instances of Data.Generics lens
-
0.5.1.0
- Added faceted, injected, itemized, projected, which is analogous to Profunctor Choice and Strong
but using ‘Which’ and ‘Many’
- Added +||+ (analogous to +++ and |||), >||>; and && (analogous to *** and &&&), and >&&>.
-
0.5.0.0
- min bounds: data-diverse >=1.2.1
- Rerranged type variable for xxxL and xxxN functions so that the
@x@ inferrred from label @l@ or index @n@ is after @proxy@.
- This affects
item[L|N]
, item[L|N]'
, replace[L|N]'
, facet[L|N]
- Same change was made in data-diverse-1.2.0.0
-
0.4.0.1
- included data-diverse 1.0 in the upper bounds
-
0.4.0.0
- Changed type variable ordering of ‘itemL’ and ‘itemL’, so it’s consistently ‘x’, ‘y’, then ‘xs’
-
0.3.0.0
- Changed type variable ordering of ‘facetL’ and ‘facetN’, so it’s consistently ‘x’ then ‘xs’
-
pre 0.3.0.0
- Initial version represented as (Int, Data.Map Int Any)