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 14.27:4.3.0.0
Stackage Nightly 2019-09-21:4.3.0.0
Latest on Hackage:4.3.0.0

See all snapshots data-diverse-lens appears in

BSD-3-Clause licensed by Louis Pan
Maintained by [email protected]

Module documentation for 2.1.0.0

This version can be pinned in stack with:[email protected]:0a71da09e61a43e741a7c7fb39522a24f1d0dd6ff6252ef664803bb6426b2fa9,2258

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

  • 2.1.0.0

    • Removed profunctor variable @[email protected] 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

  • 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 represented as (Int, Data.Map Int Any)