CHANGELOG 2.0.4 - Import Functor, Applicative, and Monad instances for Kleisli from the base-orphans package for future GHC 8.10 support. 2.0.3.3 - Allow GHC 8.4 pre-releases. 2.0.3.2 - Allow HUnit 1.5.* 2.0.3.1 - Allow HUnit 1.4.*. - Fix test suite on GHC 7.4. 2.0.3 - Support GHC 8. 2.0.2.3 to 2.0.2.4 - Allow transformers 0.5.*. 2.0.2.2 to 2.0.2.3 - Allow HUnit 1.3.* 2.0.2.1 to 2.0.2.2 - Restored support for GHC 7.4. 2.0.2 to 2.0.2.1 - Support for GHC 7.10 by widening TH dependencies. 2.0.2 - Add `for` as a synonym for `>-` to avoid a clash with the Arrows extension. 2.0.1.1 - Allow mtl 2.2.* and transformers 0.4.* - Allow template-haskell 2.9.* in test-suite 2.0.0.5 to 2.0.1 - Widened TH dependencies. 2.0.0.4 -> 2.0.0.5 - Add Bug-Reports url again. 2.0.0.3 -> 2.0.0.4 - Include CHANGELOG in source distribution. 2.0.0.2 -> 2.0.0.3 - Support GHC 7.0. Note that there seems to be a problem with the appicative syntax, see test cases. 2.0.0.1 -> 2.0.0.2 - Fix deriving with data types with more than 24 fields. 2.0 -> 2.0.0.1 - Remove warnings on generated labels with OverloadedStrings. 1.1.7.1 -> 2.0 - Introduced polymorphic lenses. - Lenses are now based on getters and modifiers, not getters and setters. - Pure lenses are now named Total lenses. - Maybe lenses are now named Partial lenses. - Introduced Failing lenses that preserve errors. - Generalized Point datatype. - Removed unused monadic functions for partial lenses. - Added ArrowFail type class. - Added lenses for base types. (tuples, lists, Maybe, Either) - Isomorphisms now uses regular function space for base morphism. - Swapped iso for more useful inv. - Introduced iso to more easily lift isomorphisms into lenses. - Removed mainly unused bimap. - Added derivation of lenses as expressions. - Convert record declarations directly into fclabels variants. - Allow deriving lenses for GADTs. - Added reasonably sophisticated totality checker for GADT labels. - Derived lenses can now fail in either ArrowZero or ArrowFail. - Alternative instance for Point. - Vertical composition for multi-constructor data types. - Extensive test suite. - Fully documented. 1.1.7 -> 1.1.7.1 - Removed unicode from cabal file to help messed up build servers. 1.1.6 -> 1.1.7 - Fixed compilation issue on newer GHC using clang. Thanks to 唐鳳. 1.1.5 -> 1.1.6 - Exposed generic TH derive function. Thanks to Bram Schuur. 1.1.4.3 -> 1.1.5 - Added `modifyAndGet` helper function. Thanks to Nikita Volkov. 1.1.4.2 -> 1.1.4.3 - Make compilable against Template Haskell 2.8. Thanks to mgsloan for the pull request. - Added TH derivation support for special kinded type variables. 1.1.4 -> 1.1.4.2 - Make compilable against Template Haskell 2.8. Thanks to Shimuuar for the pull request. 1.1.4 -> 1.1.4.1 - Changed infix type variables to named type variables. This makes fclabels compile with GHC > 7.6. - Added the `osi` (flipped iso) again. 1.1.3 -> 1.1.4 - Added function to derive labels for a single datatype. 1.1.1.0 -> 1.1.2 - Added partial set/modify versions that act as identity when the constructor field is not available. 1.1.1.0 -> 1.1.1.1 - Relax dependency on transformers to include 0.3.0.0. 1.1.0.2 -> 1.1.1.0 - Added mkLabelsWith function to derive labels with custom names. Thanks to Evan Laforge for the patch! 1.1.0.1 -> 1.1.0.2 - Fixed bug in `id` definition for `Lens (~>)`. Thanks to yczhang89 for reporting! 1.1.0 -> 1.1.0.1 - Relax constraint on Template Haskell for GHC 7.4. 1.0.4 -> 1.1.0 - Fixed error in derived code in combination with -XMonoLocalBinds. - Lowered the priority of =: operator. - Added the =. operator for modification in state monads. 1.0.4 -> 1.0.5 - Relaxed Template Haskell dependency constraint for GHC 7.4 - Relaxed transformers dependency constraint Thanks to Claude Heiland-Allen 1.0.3 -> 1.0.4 - Bugfix to compile on GHC 6.12 again. 1.0.2 -> 1.0.3 - Deriving labels for datatypes from other modules now works also when imported qualified. 1.0.1 -> 1.0.2 - Allow generating monomorphic labels. - Prettify type variables in TH-derived code. 1.0 -> 1.0.1 - Some documentation cleanups. - Major performance improvements in setting and modifying values by inlining most label functions. Thanks to Anpheus for benchmarking! 0.11.2 -> 1.0 - Added abstract arrow based core module. - Allow both pure and failing labels to be derived. - Major API and documentation cleanup. - Renamed lots of exposed function names. 0.11.1.1 -> 0.11.2 - Relaxed Template Haskell dependency constraint for GHC 7.2 - Removed redundant import warnings. 0.11.1 -> 0.11.1.1 - Improved TH support for multiple constructor datatypes. 0.9.1 -> 0.11.0 - Monadic labels now build against mtl. - Separate module for core/non-core code. - Code cleanups, especially the TH code. 0.4.2 -> 0.9.1 - Added askM and localM for running lenses inside MonadReader. - Minor documentaion update. - Exported Point internals. - Renamed Label to Lens. 0.9.1 -> 0.11.0 - Monadic labels now build against mtl. - Separate module for core/non-core code. - Code cleanups, especially the TH code. 0.4.2 -> 0.9.1 - Added askM and localM for running lenses inside MonadReader. - Minor documentaion update. - Exported Point internals. - Renamed Lens to Bijection, which is more correct. - Renamed Label to Lens. 0.4.2 -> 0.4.3 - Added askM and locaM for running labels inside MonadReader. 0.4.2 -> 1.0.0 - Added askM and localM for running lenses inside MonadReader. - Minor documentaion update. - Exported Point internals. - Renamed Lens to Bijection, which is more correct. - Renamed Label to Lens. 0.4.2 -> 0.4.3 - Added askM and locaM for running labels inside MonadReader. - Minor documentaion update. - Exported Point internals. - Renamed Lens to Bijection, which is more correct.