data-diverse-lens

Isos & Lens for Data.Diverse.Many and Prisms for Data.Diverse.Which https://github.com/louispan/data-diverse-lens#readme

Version on this page:2.1.0.0
LTS Haskell 11.14:2.1.0.0
Stackage Nightly 2018-06-19:4.2.0.1
Latest on Hackage:4.2.0.1

See all snapshots data-diverse-lens appears in

BSD3 licensed by Louis Pan

Hackage Build Status

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.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 - 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 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 - Initial version.

Depends on 6 packages:
comments powered byDisqus