ghc-microlens

A tiny lens library with no dependencies

NOTE: If you're writing an app, you probably want <<a href="http://hackage.haskell.org/package/microlens-platform">http://hackage.haskell.org/package/microlens-platform</a> microlens-platform> – it has the most features. <<a href="http://hackage.haskell.org/package/microlens">http://hackage.haskell.org/package/microlens</a> microlens> is intended more for library writers who want a tiny lens library (after all, lenses are pretty useful for everything, not just for updating records!). This library is an extract from <<a href="http://hackage.haskell.org/package/lens">http://hackage.haskell.org/package/lens</a> 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. There's a longer readme <<a href="https://github.com/stevenfontanella/microlens#readme">https://github.com/stevenfontanella/microlens#readme</a> on Github>. It has a migration guide for lens users, a description of other packages in the family, a discussion of other lens libraries you could use instead, and so on. Here are some usecases for this library: * You want to define lenses or traversals in your own library, but don't want to depend on lens. Having lenses available often make working with a library more pleasant. * You just want to be able to use lenses to transform data (or even just use 'over _1' to change the first element of a tuple). * You are new to lenses and want a small library to play with. However, don't use this library if: * You need 'Iso's, 'Prism's, indexed traversals, or actually anything else which isn't defined here (though some indexed functions are available elsewhere – containers and vector provide them for their types, and <<a href="http://hackage.haskell.org/package/ilist">http://hackage.haskell.org/package/ilist</a> ilist> provides indexed functions for lists). * You want a library with a clean, understandable implementation (in which case you're looking for <<a href="http://hackage.haskell.org/package/lens-simple">http://hackage.haskell.org/package/lens-simple</a> lens-simple>). As already mentioned, if you're writing an application which uses lenses more extensively, look at <<a href="http://hackage.haskell.org/package/microlens-platform">http://hackage.haskell.org/package/microlens-platform</a> microlens-platform> – it combines features of most other microlens packages (<<a href="http://hackage.haskell.org/package/microlens-mtl">http://hackage.haskell.org/package/microlens-mtl</a> microlens-mtl>, <<a href="http://hackage.haskell.org/package/microlens-th">http://hackage.haskell.org/package/microlens-th</a> microlens-th>, <<a href="http://hackage.haskell.org/package/microlens-ghc">http://hackage.haskell.org/package/microlens-ghc</a> microlens-ghc>). If you want to export getters or folds and don't mind the <<a href="http://hackage.haskell.org/package/contravariant">http://hackage.haskell.org/package/contravariant</a> contravariant> dependency, please consider using <<a href="http://hackage.haskell.org/package/microlens-contra">http://hackage.haskell.org/package/microlens-contra</a> microlens-contra>. If you haven't ever used lenses before, read <<a href="http://hackage.haskell.org/package/lens-tutorial/docs/Control-Lens-Tutorial.html">http://hackage.haskell.org/package/lens-tutorial/docs/Control-Lens-Tutorial.html</a> 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 depends on transformers-0.2 or above.

There is no official package available for openSUSE Leap 15.5

Distributions

openSUSE Tumbleweed

SUSE SLE-15-SP1

Unsupported distributions

The following distributions are not officially supported. Use these packages at your own risk.