@hackage data-diverse-lens4.3.0.0
Isos & Lens for Data.Diverse.Many and Prisms for Data.Diverse.Which
Installation
Tested Compilers
Dependencies (6)
- base >=4.7 && <5
- data-diverse >=4.0
- data-has >=0.3
- lens >=4
- profunctors >=5.2
- tagged >=0.8 Show all…
Dependents (3)
@hackage/glazier, @hackage/glazier-react, @hackage/glazier-react-widget
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.