/usr/share/doc/libghc-monoid-extras-doc/html/Data-Monoid-Split.html is in libghc-monoid-extras-doc 0.3.3.4-1.
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 26 27 28 29 30 31 32 33 | <!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.Monoid.Split</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-Monoid-Split.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Data-Monoid-Split.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">monoid-extras-0.3.3.4: Various extra monoid-related definitions and utilities</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Maintainer</th><td>diagrams-discuss@googlegroups.com</td></tr><tr><th>Safe Haskell</th><td>Safe-Inferred</td></tr></table><p class="caption">Data.Monoid.Split</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Sometimes we want to accumulate values from some monoid, but have
the ability to introduce a "split" which separates values on
either side. Only the rightmost split is kept. For example,
</p><pre> a b c | d e | f g h == a b c d e | f g h
</pre><p>In the diagrams graphics framework this is used when accumulating
transformations to be applied to primitive diagrams: the <code>freeze</code>
operation introduces a split, since only transformations occurring
outside the freeze should be applied to attributes.
</p></div></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:Split">Split</a> m<ul class="subs"><li>= <a href="#v:M">M</a> m </li><li>| m <a href="#v::-124-">:|</a> m </li></ul></li><li class="src short"><a href="#v:split">split</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Monoid">Monoid</a> m => <a href="Data-Monoid-Split.html#t:Split">Split</a> m</li><li class="src short"><a href="#v:unsplit">unsplit</a> :: <a href="/usr/share/doc/libghc-semigroups-doc/html/Data-Semigroup.html#t:Semigroup">Semigroup</a> m => <a href="Data-Monoid-Split.html#t:Split">Split</a> m -> m</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Split" class="def">Split</a> m <a href="src/Data-Monoid-Split.html#Split" class="link">Source</a></p><div class="doc"><p>A value of type <code>Split m</code> is either a single <code>m</code>, or a pair of
<code>m</code>'s separated by a divider. Single <code>m</code>'s combine as usual;
single <code>m</code>'s combine with split values by combining with the
value on the appropriate side; when two split values meet only
the rightmost split is kept, with both the values from the left
split combining with the left-hand value of the right split.
</p><p><a href="Data-Monoid-Cut.html">Data.Monoid.Cut</a> is similar, but uses a different scheme for
composition. <code>Split</code> uses the asymmetric constructor <code>:|</code>, and
<code>Cut</code> the symmetric constructor <code>:||:</code>, to emphasize the inherent
asymmetry of <code>Split</code> and symmetry of <code>Cut</code>. <code>Split</code> keeps only
the rightmost split and combines everything on the left; <code>Cut</code>
keeps the outermost splits and throws away everything in between.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:M" class="def">M</a> m</td><td class="doc empty"> </td></tr><tr><td class="src">m <a name="v::-124-" class="def">:|</a> m</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Split" class="caption collapser" onclick="toggleSection('i:Split')">Instances</p><div id="section.i:Split" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Text-Show.html#t:Show">Show</a> m => <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Text-Show.html#t:Show">Show</a> (<a href="Data-Monoid-Split.html#t:Split">Split</a> m)</td><td class="doc empty"> </td></tr><tr><td class="src">(<a href="/usr/share/doc/libghc-semigroups-doc/html/Data-Semigroup.html#t:Semigroup">Semigroup</a> m, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Monoid">Monoid</a> m) => <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Data-Monoid-Split.html#t:Split">Split</a> m)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/libghc-semigroups-doc/html/Data-Semigroup.html#t:Semigroup">Semigroup</a> m => <a href="/usr/share/doc/libghc-semigroups-doc/html/Data-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Data-Monoid-Split.html#t:Split">Split</a> m)</td><td class="doc"><p>If <code>m</code> is a <code>Semigroup</code>, then <code>Split m</code> is a semigroup which
combines values on either side of a split, keeping only the
rightmost split.
</p></td></tr><tr><td class="src"><a href="Data-Monoid-Action.html#t:Action">Action</a> m n => <a href="Data-Monoid-Action.html#t:Action">Action</a> (<a href="Data-Monoid-Split.html#t:Split">Split</a> m) n</td><td class="doc"><p>By default, the action of a split monoid is the same as for
the underlying monoid, as if the split were removed.
</p></td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:split" class="def">split</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Monoid">Monoid</a> m => <a href="Data-Monoid-Split.html#t:Split">Split</a> m<a href="src/Data-Monoid-Split.html#split" class="link">Source</a></p><div class="doc"><p>A convenient name for <code>mempty :| mempty</code>, so <code>M a <> split <>
M b == a :| b</code>.
</p></div></div><div class="top"><p class="src"><a name="v:unsplit" class="def">unsplit</a> :: <a href="/usr/share/doc/libghc-semigroups-doc/html/Data-Semigroup.html#t:Semigroup">Semigroup</a> m => <a href="Data-Monoid-Split.html#t:Split">Split</a> m -> m<a href="src/Data-Monoid-Split.html#unsplit" class="link">Source</a></p><div class="doc"><p>"Unsplit" a split monoid value, combining the two values into
one (or returning the single value if there is no split).
</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>
|