
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
-
4.3.0.0
- Replaced
piece' with hasLens, piece with hadLens
- Replaced
pieceX' with hasX, pieceX hadX
-
4.2.0.1
- Missed removing Semigroup constraint from
chooseWith
-
4.2.0.0
- Replaced
also and alternatively with chooseWith
-
4.1.0.0
- Removed generic-lens dependency - didn't really use it.
-
4.0.0.0
- Renamed
itemXXX to pieceXXX, Itemized to Pieced, itemizedXXX to piecedXXX.
-
3.1.1.0
itemTag only requires Has and likewise facetTag only requires AsFacet.
-
3.1.0.0
- Replaced
HasItem with Data.Has.
-
3.0.0.2
-
3.0.0.1
- Fixed GHC 8.2.2 "Type indexes must match class instance head" compile error.
-
3.0.0.0
- Renamed
SelectWith to MakeFrom, split ChooseBtween to ChooseBoth and ChooseFrom.
- Removed hard to remember operators ``>&&>
&& +||+ >||>`
- Removed
faceted'
- Added
instance AsFacet Void (Which '[]) and instance AsFacet (Which '[]) Void
- Polymorphic
HasItemX now only requires two to three type args.
-
2.1.0.0
- Removed profunctor variable
w from the constraint synonyms for Projected/Injected.
-
2.0.0.1
- Forgot to expose constraint synonyms for
Projected/Injected.
-
2.0.0.0
- Breaking change: Removed
HasProject and AsInject typeclasses and changed them back to functions.
- Added
MatchingFacet typeclasses for polymorphic matching of prisms.
- Added constraint synonyms for
Project/Inject/Projected/Injected.
-
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