Changelog of @hackage/lens-family-core 2.0.0

2.0.0 (Changes from 1.2.4)

This new release continues to explore the design of Van Laarhoven style optics with new support for adapters, grates, grids[2], and prisms.

To bring support to these new optics necessarily mean moving a little further away from syntactic compatibility with Kmett's lens library. In particular, lens-family's 'under' is unrelated to Kmett's lens library's 'under' combinator. Nonetheless the 'under' combinator plays a crucial role in lens-family as a dual to the 'over' combinator and this naming is hard to resist despite the conflict.

This new version comes with some minor incompatibilities with the version 1.0 library that may require user updates:

  • 'backwards' has moved into the "Stock" module.
  • 'Left' and 'Right' have been renamed as 'lft' and 'rgt'.
  • 'Just' and 'Nothing' have been renamed as 'some' and 'none'.
  • 'both' has been renamed 'both_'.
  • 'beside' has been renamed 'beside_'.
  • 'iso' has been removed, however its functionality can be replicated by a combination of 'adapter' and 'under'.
  • Haskell 98 is no longer supportable.

[1]https://www.twanvl.nl/blog/haskell/cps-functional-references [2]A grid is an optic that is both a grate and a traversal.

1.2.4 (Changes from 1.2.3)

  • Add 'matching' operator
  • Correct lower bound on transformers
  • Expand Applicative imports to broaden compatability

1.2.3 (Changes from 1.2.2)

  • Bump dependency on containers

1.2.2 (Changes from 1.2.1)

  • Added strict versions of assignments to Lens.Family.State modules.
  • Added strict versions of at' and intAt'.
  • Min dependencies raised to take advantage of adjustF from Data.Map.

1.2.1 (Changes from 1.2.0)

  • Bump dependency on transformers

1.2.0 (Changes from 1.1.0)

  • Corrected associativity of ^. ^.. and ^? from right to left.

1.1.0 (Changes from 1.0.1)

  • Some type synonym definitions have been altered, but should be equivalent.
  • Removed Getting and Setting functors and instead use the equivalent standard functors Const and Identity.
  • Renamed Setter to ASetter and generalized Setters to be a LensLike constrained to an "Identical" functor.
  • Added the (<~) operator.
  • Corrected the definition of ATraversal'

1.0.1 (Changes from 1.0.0)

  • Bump dependency on transformers

1.0.0 (Changes from 0.1.0)

  • added support for folds and traversals
  • renamed all functions to be mostly compatible with the lexicon from lens.

0.1.0 (Changes from 0.0.1)

  • added project and sec
  • added <>= and <>~
  • renamed functional modifier operators
  • renamed LensFamily and Lens to RefFamily and Ref
  • moving setting to Lens.Family.Unchecked because one needs to verify the functor laws

0.0.1 (Changes from 0.0.0)

  • Bump dependency on containers
  • Fixed dependency on mtl