microlens: A tiny lens library with no dependencies. If you're writing an app, you probably want microlens-platform, not this.
This is an extract from lens (with no dependencies). It's not a toy lenses library, unsuitable for “real world”, but merely a small one. It is compatible with lens, and should have same performance. It also has better documentation.
Use this library:
if you want to define lenses or traversals in your own library, but don't want to depend on lens
if you are new to lenses and want a small library to play with, but don't want to use something “inferior” or have to relearn things when/if you switch to lens
Don't use this library:
if you need
Iso
s,Prism
s, indexed traversals, or actually anything else which isn't defined here (tho some indexed functions are available elsewhere – containers and vector provide them for their types, and ilist provides indexed functions for lists)if you want a library with a clean, understandable implementation (in which case you're looking for lens-simple)
If you're writing an application which uses lenses more extensively, look at microlens-platform – it combines features of most other microlens packages (microlens-mtl, microlens-th, microlens-ghc).
If you want to export getters or folds and don't mind the contravariant dependency, please consider using microlens-contra.
There's a longer readme on Github, you should read it if you're interested about using this library.
If you haven't ever used lenses before, read this tutorial. (It's for lens, but it applies to microlens just as well.)
Note that microlens has no dependencies starting from GHC 7.10 (base-4.8). Prior to that, it has to depend on transformers-0.2 or above.
Downloads
- microlens-0.4.4.1.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
Versions [RSS] | 0.1.0.0, 0.1.1.0, 0.1.2.0, 0.1.3.0, 0.1.5.0, 0.2.0.0, 0.3.0.0, 0.3.1.0, 0.3.2.0, 0.3.3.0, 0.3.4.0, 0.3.4.1, 0.3.5.0, 0.3.5.1, 0.4.0.0, 0.4.0.1, 0.4.1.0, 0.4.2.0, 0.4.2.1, 0.4.3.0, 0.4.4.0, 0.4.4.1, 0.4.4.2, 0.4.4.3, 0.4.5.0, 0.4.6.0, 0.4.7.0, 0.4.8.0, 0.4.8.1, 0.4.8.2, 0.4.8.3, 0.4.9, 0.4.9.1, 0.4.10, 0.4.11, 0.4.11.1, 0.4.11.2, 0.4.12.0, 0.4.13.0, 0.4.13.1, 0.4.14.0 (info) |
---|---|
Change log | CHANGELOG.md |
Dependencies | base (>=4.5 && <4.13), transformers (>=0.2) [details] |
License | BSD-3-Clause |
Author | Edward Kmett, Artyom |
Maintainer | Artyom <yom@artyom.me> |
Revised | Revision 1 made by HerbertValerioRiedel at 2019-09-02T21:26:50Z |
Category | Data, Lenses |
Home page | http://github.com/aelve/microlens |
Bug tracker | http://github.com/aelve/microlens/issues |
Source repo | head: git clone git://github.com/aelve/microlens.git |
Uploaded | by Artyom at 2016-06-09T21:50:19Z |
Distributions | Arch:0.4.13.1, Debian:0.4.11.2, Fedora:0.4.13.1, LTSHaskell:0.4.13.1, NixOS:0.4.13.1, Stackage:0.4.14.0, openSUSE:0.4.14.0 |
Reverse Dependencies | 253 direct, 661 indirect [details] |
Downloads | 91041 total (18 in the last 30 days) |
Rating | 2.75 (votes: 12) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |