data-diverse-lens: Isos & Lens for Data.Diverse.Many and Prisms for Data.Diverse.Which

[ bsd3, data, library, records ] [ Propose Tags ]

Isos & Lens for Data.Diverse.Many and Prisms for Data.Diverse.Which Refer to ManySpec.hs and WhichSpec.hs for example usages.


[Skip to Readme]
Versions 0.1.0.0, 0.1.1.0, 0.3.0.0, 0.4.0.0, 0.4.0.1, 0.5.0.0, 0.5.1.0, 0.5.2.0, 1.0.0.0, 1.0.0.1, 2.0.0.0, 2.0.0.1, 2.1.0.0, 3.0.0.0, 3.0.0.1, 3.0.0.2, 3.1.0.0, 3.1.1.0, 4.0.0.0, 4.1.0.0, 4.2.0.0, 4.2.0.1, 4.3.0.0 (info)
Dependencies base (>=4.7 && <5), data-diverse (>=4.0), data-has (>=0.3), lens (>=4), profunctors (>=5.2), tagged (>=0.8) [details]
License BSD-3-Clause
Copyright 2017 Louis Pan
Author Louis Pan
Maintainer louis@pan.me
Category Data, Records
Home page https://github.com/louispan/data-diverse-lens#readme
Source repo head: git clone https://github.com/louispan/data-diverse-lens
Uploaded by louispan at Sat Jun 30 14:09:33 UTC 2018
Distributions LTSHaskell:4.3.0.0, NixOS:4.3.0.0, Stackage:4.3.0.0
Downloads 2555 total (252 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-06-30 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for data-diverse-lens-4.3.0.0

[back to package description]

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

    • 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.