Description
Isos & Lens for Data.Diverse.Many and Prisms for Data.Diverse.Which.
Description
Isos & Lens for Data.Diverse.Many and Prisms for Data.Diverse.Which Refer to ManySpec.hs and WhichSpec.hs for example usages.
README.md
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'
withhasLens
,piece
withhadLens
- Replaced
pieceX'
withhasX
,pieceX hadX
- Replaced
4.2.0.1
- Missed removing Semigroup constraint from
chooseWith
- Missed removing Semigroup constraint from
4.2.0.0
- Replaced
also
andalternatively
withchooseWith
- Replaced
4.1.0.0
- Removed generic-lens dependency - didn't really use it.
4.0.0.0
- Renamed
itemXXX
topieceXXX
,Itemized
toPieced
,itemizedXXX
topiecedXXX
.
- Renamed
3.1.1.0
itemTag
only requiresHas
and likewisefacetTag
only requiresAsFacet
.
3.1.0.0
- Replaced
HasItem
withData.Has
.
- Replaced
3.0.0.2
- Fixed haddock.
3.0.0.1
- Fixed GHC 8.2.2 "Type indexes must match class instance head" compile error.
3.0.0.0
- Renamed
SelectWith
toMakeFrom
, splitChooseBtween
toChooseBoth
andChooseFrom
. - Removed hard to remember operators ``>&&>
&&
+||+
>||>`
- Removed
faceted'
- Added
instance AsFacet Void (Which '[])
andinstance AsFacet (Which '[]) Void
- Polymorphic
HasItemX
now only requires two to three type args.
- Renamed
2.1.0.0
- Removed profunctor variable
w
from the constraint synonyms forProjected
/Injected
.
- Removed profunctor variable
2.0.0.1
- Forgot to expose constraint synonyms for
Projected
/Injected
.
- Forgot to expose constraint synonyms for
2.0.0.0
- Breaking change: Removed
HasProject
andAsInject
typeclasses and changed them back to functions. - Added
MatchingFacet
typeclasses for polymorphicmatching
of prisms. - Added constraint synonyms for
Project
/Inject
/Projected
/Injected
.
- Breaking change: Removed
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'
- This means the following are swapped:
- Removed overlapping instances of
0.5.2.0
- Added
itemTag
andfacetTag
that also tag/untags the field. - Added overlapping instances of
Data.Generics
lens
- Added
0.5.1.0
- Added
faceted
,injected
,itemized
,projected
, which is analogous toProfunctor Choice
andStrong
but usingWhich
andMany
- Added
+||+
(analogous to+++
and|||
),>||>
; and*&&*
(analogous to***
and&&&
), and>&&>
.
- Added
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
- This affects
0.4.0.1
- included data-diverse 1.0 in the upper bounds
0.4.0.0
- Changed type variable ordering of
itemL
anditemL
, so it's consistentlyx
,y
, thenxs
- Changed type variable ordering of
0.3.0.0
- Changed type variable ordering of
facetL
andfacetN
, so it's consistentlyx
thenxs
- Changed type variable ordering of
pre 0.3.0.0
- Initial version.