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)