/usr/share/doc/libghc-fclabels-doc/html/Data-Label-Abstract.html is in libghc-fclabels-doc 1.1.4.3-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Data.Label.Abstract</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Data-Label-Abstract.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Data-Label-Abstract.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">fclabels-1.1.4.3: First class accessor labels.</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe-Inferred</td></tr></table><p class="caption">Data.Label.Abstract</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:Point">Point</a> arr f i o = <a href="#v:Point">Point</a> {<ul class="subs"><li><a href="#v:_get">_get</a> :: f `arr` o</li><li><a href="#v:_set">_set</a> :: (i, f) `arr` f</li></ul>}</li><li class="src short"><a href="#v:_modify">_modify</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Arrow.html#t:ArrowApply">ArrowApply</a> arr => <a href="Data-Label-Abstract.html#t:Point">Point</a> arr f i o -> (o `arr` i, f) `arr` f</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Lens">Lens</a> arr f a = <a href="#v:Lens">Lens</a> {<ul class="subs"><li><a href="#v:unLens">unLens</a> :: <a href="Data-Label-Abstract.html#t:Point">Point</a> arr f a a</li></ul>}</li><li class="src short"><a href="#v:lens">lens</a> :: (f `arr` a) -> ((a, f) `arr` f) -> <a href="Data-Label-Abstract.html#t:Lens">Lens</a> arr f a</li><li class="src short"><a href="#v:get">get</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Arrow.html#t:Arrow">Arrow</a> arr => <a href="Data-Label-Abstract.html#t:Lens">Lens</a> arr f a -> f `arr` a</li><li class="src short"><a href="#v:set">set</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Arrow.html#t:Arrow">Arrow</a> arr => <a href="Data-Label-Abstract.html#t:Lens">Lens</a> arr f a -> (a, f) `arr` f</li><li class="src short"><a href="#v:modify">modify</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Arrow.html#t:ArrowApply">ArrowApply</a> arr => <a href="Data-Label-Abstract.html#t:Lens">Lens</a> arr f o -> (o `arr` o, f) `arr` f</li><li class="src short"><a href="#v:bimap">bimap</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Arrow.html#t:Arrow">Arrow</a> arr => (o' `arr` o) -> (i `arr` i') -> <a href="Data-Label-Abstract.html#t:Point">Point</a> arr f i' o' -> <a href="Data-Label-Abstract.html#t:Point">Point</a> arr f i o</li><li class="src short"><a href="#v:for">for</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Arrow.html#t:Arrow">Arrow</a> arr => (i `arr` o) -> <a href="Data-Label-Abstract.html#t:Lens">Lens</a> arr f o -> <a href="Data-Label-Abstract.html#t:Point">Point</a> arr f i o</li><li class="src short"><span class="keyword">data</span> <a href="#t:Bijection">Bijection</a> arr a b = <a href="#v:Bij">Bij</a> {<ul class="subs"><li><a href="#v:fw">fw</a> :: a `arr` b</li><li><a href="#v:bw">bw</a> :: b `arr` a</li></ul>}</li><li class="src short"><a href="#v:liftBij">liftBij</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Functor">Functor</a> f => <a href="Data-Label-Abstract.html#t:Bijection">Bijection</a> (->) a b -> <a href="Data-Label-Abstract.html#t:Bijection">Bijection</a> (->) (f a) (f b)</li><li class="src short"><span class="keyword">class</span> <a href="#t:Iso">Iso</a> arr f <span class="keyword">where</span><ul class="subs"><li><a href="#v:iso">iso</a> :: <a href="Data-Label-Abstract.html#t:Bijection">Bijection</a> arr a b -> f a `arr` f b</li></ul></li><li class="src short"><a href="#v:osi">osi</a> :: <a href="Data-Label-Abstract.html#t:Iso">Iso</a> arr f => <a href="Data-Label-Abstract.html#t:Bijection">Bijection</a> arr b a -> f a `arr` f b</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Point" class="def">Point</a> arr f i o <a href="src/Data-Label-Abstract.html#Point" class="link">Source</a></p><div class="doc"><p>Abstract Point datatype. The getter and setter functions work in some
arrow.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Point" class="def">Point</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:_get" class="def">_get</a> :: f `arr` o</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:_set" class="def">_set</a> :: (i, f) `arr` f</dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Point" class="caption collapser" onclick="toggleSection('i:Point')">Instances</p><div id="section.i:Point" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Arrow.html#t:Arrow">Arrow</a> arr => <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Functor">Functor</a> (<a href="Data-Label-Abstract.html#t:Point">Point</a> arr f i)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Arrow.html#t:Arrow">Arrow</a> arr => <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Data-Label-Abstract.html#t:Point">Point</a> arr f i)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:_modify" class="def">_modify</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Arrow.html#t:ArrowApply">ArrowApply</a> arr => <a href="Data-Label-Abstract.html#t:Point">Point</a> arr f i o -> (o `arr` i, f) `arr` f<a href="src/Data-Label-Abstract.html#_modify" class="link">Source</a></p><div class="doc"><p>Modification as a compositon of a getter and setter. Unfortunately,
<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Arrow.html#t:ArrowApply">ArrowApply</a></code> is needed for this composition.
</p></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:Lens" class="def">Lens</a> arr f a <a href="src/Data-Label-Abstract.html#Lens" class="link">Source</a></p><div class="doc"><p>Abstract Lens datatype. The getter and setter functions work in some
arrow. Arrows allow for effectful lenses, for example, lenses that might
fail or use state.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Lens" class="def">Lens</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:unLens" class="def">unLens</a> :: <a href="Data-Label-Abstract.html#t:Point">Point</a> arr f a a</dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Lens" class="caption collapser" onclick="toggleSection('i:Lens')">Instances</p><div id="section.i:Lens" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Arrow.html#t:Arrow">Arrow</a> arr => <a href="Data-Label-Abstract.html#t:Iso">Iso</a> arr (<a href="Data-Label-Abstract.html#t:Lens">Lens</a> arr f)</td><td class="doc"><p>We can diverge <code><a href="Data-Label-Abstract.html#t:Lens">Lens</a></code>es using an isomorphism.
</p></td></tr><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Arrow.html#t:ArrowApply">ArrowApply</a> arr => <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Category.html#t:Category">Category</a> (<a href="Data-Label-Abstract.html#t:Lens">Lens</a> arr)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:lens" class="def">lens</a> :: (f `arr` a) -> ((a, f) `arr` f) -> <a href="Data-Label-Abstract.html#t:Lens">Lens</a> arr f a<a href="src/Data-Label-Abstract.html#lens" class="link">Source</a></p><div class="doc"><p>Create a lens out of a getter and setter.
</p></div></div><div class="top"><p class="src"><a name="v:get" class="def">get</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Arrow.html#t:Arrow">Arrow</a> arr => <a href="Data-Label-Abstract.html#t:Lens">Lens</a> arr f a -> f `arr` a<a href="src/Data-Label-Abstract.html#get" class="link">Source</a></p><div class="doc"><p>Get the getter arrow from a lens.
</p></div></div><div class="top"><p class="src"><a name="v:set" class="def">set</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Arrow.html#t:Arrow">Arrow</a> arr => <a href="Data-Label-Abstract.html#t:Lens">Lens</a> arr f a -> (a, f) `arr` f<a href="src/Data-Label-Abstract.html#set" class="link">Source</a></p><div class="doc"><p>Get the setter arrow from a lens.
</p></div></div><div class="top"><p class="src"><a name="v:modify" class="def">modify</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Arrow.html#t:ArrowApply">ArrowApply</a> arr => <a href="Data-Label-Abstract.html#t:Lens">Lens</a> arr f o -> (o `arr` o, f) `arr` f<a href="src/Data-Label-Abstract.html#modify" class="link">Source</a></p><div class="doc"><p>Get the modifier arrow from a lens.
</p></div></div><div class="top"><p class="src"><a name="v:bimap" class="def">bimap</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Arrow.html#t:Arrow">Arrow</a> arr => (o' `arr` o) -> (i `arr` i') -> <a href="Data-Label-Abstract.html#t:Point">Point</a> arr f i' o' -> <a href="Data-Label-Abstract.html#t:Point">Point</a> arr f i o<a href="src/Data-Label-Abstract.html#bimap" class="link">Source</a></p><div class="doc"><p>Make a <code><a href="Data-Label-Abstract.html#t:Point">Point</a></code> diverge in two directions.
</p></div></div><div class="top"><p class="src"><a name="v:for" class="def">for</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Arrow.html#t:Arrow">Arrow</a> arr => (i `arr` o) -> <a href="Data-Label-Abstract.html#t:Lens">Lens</a> arr f o -> <a href="Data-Label-Abstract.html#t:Point">Point</a> arr f i o<a href="src/Data-Label-Abstract.html#for" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Bijection" class="def">Bijection</a> arr a b <a href="src/Data-Label-Abstract.html#Bijection" class="link">Source</a></p><div class="doc"><p>The bijections datatype, an arrow that works in two directions.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Bij" class="def">Bij</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:fw" class="def">fw</a> :: a `arr` b</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:bw" class="def">bw</a> :: b `arr` a</dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Bijection" class="caption collapser" onclick="toggleSection('i:Bijection')">Instances</p><div id="section.i:Bijection" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Arrow.html#t:Arrow">Arrow</a> arr => <a href="Data-Label-Abstract.html#t:Iso">Iso</a> arr (<a href="Data-Label-Abstract.html#t:Bijection">Bijection</a> arr a)</td><td class="doc"><p>We can diverge <code><a href="Data-Label-Abstract.html#t:Bijection">Bijection</a></code>s using an isomorphism.
</p></td></tr><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Category.html#t:Category">Category</a> arr => <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Category.html#t:Category">Category</a> (<a href="Data-Label-Abstract.html#t:Bijection">Bijection</a> arr)</td><td class="doc"><p>Bijections as categories.
</p></td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:liftBij" class="def">liftBij</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Functor">Functor</a> f => <a href="Data-Label-Abstract.html#t:Bijection">Bijection</a> (->) a b -> <a href="Data-Label-Abstract.html#t:Bijection">Bijection</a> (->) (f a) (f b)<a href="src/Data-Label-Abstract.html#liftBij" class="link">Source</a></p><div class="doc"><p>Lifting <code><a href="Data-Label-Abstract.html#t:Bijection">Bijection</a></code>s.
</p></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a name="t:Iso" class="def">Iso</a> arr f <span class="keyword">where</span><a href="src/Data-Label-Abstract.html#Iso" class="link">Source</a></p><div class="doc"><p>The isomorphism type class is like a <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Functor">Functor</a></code> but works in two directions.
</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:iso" class="def">iso</a> :: <a href="Data-Label-Abstract.html#t:Bijection">Bijection</a> arr a b -> f a `arr` f b<a href="src/Data-Label-Abstract.html#iso" class="link">Source</a></p></div><div class="subs instances"><p id="control.i:Iso" class="caption collapser" onclick="toggleSection('i:Iso')">Instances</p><div id="section.i:Iso" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Arrow.html#t:Arrow">Arrow</a> arr => <a href="Data-Label-Abstract.html#t:Iso">Iso</a> arr (<a href="Data-Label-Abstract.html#t:Bijection">Bijection</a> arr a)</td><td class="doc"><p>We can diverge <code><a href="Data-Label-Abstract.html#t:Bijection">Bijection</a></code>s using an isomorphism.
</p></td></tr><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Arrow.html#t:Arrow">Arrow</a> arr => <a href="Data-Label-Abstract.html#t:Iso">Iso</a> arr (<a href="Data-Label-Abstract.html#t:Lens">Lens</a> arr f)</td><td class="doc"><p>We can diverge <code><a href="Data-Label-Abstract.html#t:Lens">Lens</a></code>es using an isomorphism.
</p></td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:osi" class="def">osi</a> :: <a href="Data-Label-Abstract.html#t:Iso">Iso</a> arr f => <a href="Data-Label-Abstract.html#t:Bijection">Bijection</a> arr b a -> f a `arr` f b<a href="src/Data-Label-Abstract.html#osi" class="link">Source</a></p><div class="doc"><p>Flipped isomorphism.
</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.13.2</p></div></body></html>
|