2.6
- Added build option
-f-inlining
to facilitate building with the various TH 2.8 versions used by GHC 7.6 and HEAD.
- Added build option
-f-template-haskell
for testing without template haskell. (Users should be able to assume TH is enabled; use this only for testing!)
- Added support for generating a
Traversal
rather than a Lens
when multiple fields map to the same name or some constructors are missing a field.
- Removed
_
from the lens names in System.FilePath.Lens
.
- Added
iwhere
, withIndices
, withIndicesOf
, indices
and indicesOf
to ease work with indexed traversals
- Added
assign
as an alias for (.=)
in Control.Lens.Setter
.
- Added
~:
, =:
, <~:
and <=:
to Data.List.Lens
2.5
- Added
Control.Lens.Plated
, a port of Neil Mitchell's uniplate
that can be used on any Traversal
.
- Added
Data.Data.Lens
with smart traversals that know how to avoid traversing parts of a structure that can't contain a given type.
- Added
Data.Typeable.Lens
with _cast
and _gcast
like traverseData
- Renamed
IndexedStore
to Context
now that it is used in user-visible locations, and since I also use it as uniplate
's notion of a context.
- Renamed
Kleene
to Bazaar
-- "a bazaar contains a bunch of stores."
- Added
Comonad
instances for Context
and Bazaar
, so we can use stores directly as the notion of an editable context in uniplate
- Compatibility with both sets of template haskell quirks for GHC 7.6.1-rc1 and the GHC 7.6.1 development head.
- Renamed
children
to branches
in Data.Tree.Lens
.
- Added
At
and Contains
to Control.Lens.IndexedLens
.
- Added
FunctorWithIndex
, FoldableWithIndex
, and TraversableWithIndex
under Control.Lens.WithIndex
- Added support for
unordered-containers
.
2.4.0.2
- GHC 7.6.1 development HEAD compatibility (but broke 7.6.1-rc1)
2.4.0.1
2.4
- Added the indexed
Kleene
store to Control.Lens.Internal
- Moved
Gettable
, Accessor
, Settable
and Mutator
to Control.Lens.Internal
- Added
cloneTraversal
to Control.Lens.Traversal
- Renamed
clone
to cloneLens
in Control.Lens.Type
- Generalized the type of
zoom
to subsume focus
.
- Removed
Focus(..)
from Control.Lens.Type
.
- Factored out
Control.Lens.Isomorphic
.
- Moved many private types to
Control.Lens.Internal
- Added
conFields
to Language.Haskell.TH.Lens
.
- Added
System.FilePath.Lens
.
2.3
- Added missing
{-# INLINE #-}
pragmas
- Renamed
meanwhile
to throughout
in Control.Parallel.Strategies.Lens
- Added
Magnify
to Control.Lens.Getter
.
- Added
Zoom
to Control.Lens.Type
.
2.2
- Added
<&=
, <&~
, <|=
, and <|~
- Moved
<>~
, <<>~
, <>=
, and <<>=
to Data.Monoid.Lens
- Template Haskell now uses eager binding to avoid adding dependencies.
2.1
- Renamed
adjust
to over
- Added
au
, auf
and under
- Added
Data.Monoid.Lens
- Increased lower dependency bound on
mtl
for cleaner installation.