homepage: ''
changelog-type: markdown
hash: f0fb49afc20d6c0a9945c98e83580a6e614618e70c28dbafe5d9e1d5b778fe95
test-bench-deps: {}
maintainer: coltharp@pdx.edu
synopsis: Optics for Polysemy.
changelog: |
  # Changelog for polysemy-optics

  ## 0.1.0.0 -- 2020-07-25

  * Initial release.
basic-deps:
  base: '>=4.12 && <4.14'
  polysemy-zoo: '>=0.6 && <0.8'
  optics: '>=0.1 && <0.4'
  polysemy: '>=0.4 && <1.4'
all-versions:
- 0.1.0.0
author: Nicholas Coltharp
latest: 0.1.0.0
description-type: markdown
description: |
  Usage
  =====

  Simply import `Optics.Polysemy`. This serves as a drop-in replacement for
  `Optics`, `Optics.State`, and `Optics.State.Operators`.

  Caveats
  =======

  As best I can tell, the `zoom` functions cannot currently be translated with
  complete precision. As a result, only a few `zoom` functions are present here,
  and they behave a little strangely.
  * If you use `zoom` or `zoomMaybe` to go from `State s` to `State a`, the
    original `State s` will still be present in your effect stack. Writes to the
    zoomed part of the `s` will be visible from inside the `State a`, and
    vice-versa.
  * `zoomMany` cannot be sensibly implemented this way, so I have left it out.
  * Due to difficulties with higher-order effects, I have not yet found a way to
    implement the `magnify` functions.
license-name: BSD-2-Clause

Update from Hackage at 2020-07-25T21:33:10Z
Update from Hackage at 2020-07-25T21:33:10Z
