- Give HasAny/AsAny the same VTA behavior on 8.6 and 8.8 (Ryan Scott)
- Add
HasTypesUsing
andHasTypesCustom
for custom traversals (Lysxia) - Improve type errors when no Generic instance is defined
types
now supports Text by default
HasType
now includes a reflexive case so that every type 'contains' itself (Matt Parsons)AsSubtype
andSubtype
now include a reflexive case so that every type is a subtype of itself
- Fix regression in type inference for polymorphic optics
- Add
HasField0
,HasPosition0
,AsConstructor0
,HasField_
,HasPositon_
, andAsConstructor_
(Lysxia) types
now supports Data.Word and Data.Int (Lysxia)- Add
Wrapped
iso for newtypes (Isaac Elliott) - Expose internals through Data.GenericLens.Internal
- Add labels for prisms (Daniel Winograd-Cort)
- Fix compile-time performance regression
- Remove dump-core dependency
- Relax upper bound on criterion (#42)
- Traversals (types, param, constraints)
- Prisms are now optimal too
- Monomorphic versions of lenses and prisms also included
projectSub
now returnsMaybe sub
instead ofEither sup sub
(#21)
- Infer input type from result type (#25)
- Allow changing of multiple type parameters (#24)
- Allow changing of type parameters that have kinds other than
*
(#23) - Fix error message in subtype lens
- Lenses and prisms are now type-changing.
- More informative error messages
- More readable type signatures in type errors and when using
:t
- Use
doctest
- Include examples in Haddock
-
The type parameters of the classes have been changed to accommodate the type-changing update:
class HasField name a s
->class HasField name s t a b
etc.Accordingly,
field :: Lens' s a
->field :: Lens s t a b