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