microlens: A tiny part of the lens library with no dependencies

[ bsd3, data, lenses, library ] [ Propose Tags ]
This version is deprecated.

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 Isos, Prisms, indexed traversals, or actually anything else which isn't defined here

  • 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

Maintainer's Corner

Package maintainers

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 (info)
Change log CHANGELOG.md
Dependencies base (>=4.5 && <5), transformers (>=0.2) [details]
License BSD-3-Clause
Author Artyom
Maintainer Artyom <yom@artyom.me>
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 2015-12-30T20:56:20Z
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.13.1, openSUSE:0.4.13.1
Reverse Dependencies 237 direct, 634 indirect [details]
Downloads 87050 total (385 in the last 30 days)
Rating 2.75 (votes: 12) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2015-12-30 [all 1 reports]