packages feed

Cabal-1.22.1.1: doc/API/Cabal/Distribution-Utils-NubList.html

<!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>Distribution.Utils.NubList</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_Distribution-Utils-NubList.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-1.22.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell98</td></tr></table><p class="caption">Distribution.Utils.NubList</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:NubList">NubList</a> a</li><li class="src short"><a href="#v:toNubList">toNubList</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; [a] -&gt; <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a</li><li class="src short"><a href="#v:fromNubList">fromNubList</a> :: <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -&gt; [a]</li><li class="src short"><a href="#v:overNubList">overNubList</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; ([a] -&gt; [a]) -&gt; <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -&gt; <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a</li><li class="src short"><span class="keyword">data</span> <a href="#t:NubListR">NubListR</a> a</li><li class="src short"><a href="#v:toNubListR">toNubListR</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; [a] -&gt; <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a</li><li class="src short"><a href="#v:fromNubListR">fromNubListR</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a -&gt; [a]</li><li class="src short"><a href="#v:overNubListR">overNubListR</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; ([a] -&gt; [a]) -&gt; <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a -&gt; <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:NubList" class="def">NubList</a> a</p><div class="doc"><p>NubList : A de-duplicated list that maintains the original order.</p></div><div class="subs instances"><p id="control.i:NubList" class="caption collapser" onclick="toggleSection('i:NubList')">Instances</p><div id="section.i:NubList" class="show"><table><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> a =&gt; <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Ord.html#t:Ord">Ord</a> a, <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Read.html#t:Read">Read</a> a) =&gt; <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Read.html#t:Read">Read</a> (<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> a =&gt; <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a)</td><td class="doc"><p>Monoid operations on NubLists.
 For a valid Monoid instance we need to satistfy the required monoid laws;
 identity, associativity and closure.</p><p>Identity : by inspection:
      mempty <code><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Monoid.html#v:mappend">mappend</a></code> NubList xs == NubList xs <code><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Monoid.html#v:mappend">mappend</a></code> mempty</p><p>Associativity : by inspection:
      (NubList xs <code><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Monoid.html#v:mappend">mappend</a></code> NubList ys) <code><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Monoid.html#v:mappend">mappend</a></code> NubList zs
      == NubList xs <code><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Monoid.html#v:mappend">mappend</a></code> (NubList ys <code><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Monoid.html#v:mappend">mappend</a></code> NubList zs)</p><p>Closure : appending two lists of type a and removing duplicates obviously
 does not change the type.</p></td></tr><tr><td class="src">(<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Ord.html#t:Ord">Ord</a> a, <a href="file:///usr/local/share/doc/ghc/html/libraries/binary-0.7.2.3/Data-Binary.html#t:Binary">Binary</a> a) =&gt; <a href="file:///usr/local/share/doc/ghc/html/libraries/binary-0.7.2.3/Data-Binary.html#t:Binary">Binary</a> (<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a)</td><td class="doc"><p>Binary instance for 'NubList a' is the same as for '[a]'. For <code><a href="file:///usr/local/share/doc/ghc/html/libraries/binary-0.7.2.3/Data-Binary.html#v:put">put</a></code>, we
 just pull off constructor and put the list. For <code><a href="file:///usr/local/share/doc/ghc/html/libraries/binary-0.7.2.3/Data-Binary.html#v:get">get</a></code>, we get the list and
 make a <code><a href="Distribution-Utils-NubList.html#t:NubList">NubList</a></code> out of it using <code><a href="Distribution-Utils-NubList.html#v:toNubList">toNubList</a></code>.</p></td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:toNubList" class="def">toNubList</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; [a] -&gt; <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a</p><div class="doc"><p>Smart constructor for the NubList type.</p></div></div><div class="top"><p class="src"><a name="v:fromNubList" class="def">fromNubList</a> :: <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -&gt; [a]</p></div><div class="top"><p class="src"><a name="v:overNubList" class="def">overNubList</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; ([a] -&gt; [a]) -&gt; <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -&gt; <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a</p><div class="doc"><p>Lift a function over lists to a function over NubLists.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:NubListR" class="def">NubListR</a> a</p><div class="doc"><p>NubListR : A right-biased version of <code><a href="Distribution-Utils-NubList.html#t:NubList">NubList</a></code>. That is <code>toNubListR
 [&quot;-XNoFoo&quot;, &quot;-XFoo&quot;, &quot;-XNoFoo&quot;]</code> will result in <code>[&quot;-XFoo&quot;, &quot;-XNoFoo&quot;]</code>,
 unlike the normal <code><a href="Distribution-Utils-NubList.html#t:NubList">NubList</a></code>, which is left-biased. Built on top of
 <code><a href="Distribution-Simple-Utils.html#v:ordNubRight">ordNubRight</a></code> and <code><a href="Distribution-Simple-Utils.html#v:listUnionRight">listUnionRight</a></code>.</p></div><div class="subs instances"><p id="control.i:NubListR" class="caption collapser" onclick="toggleSection('i:NubListR')">Instances</p><div id="section.i:NubListR" class="show"><table><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> a =&gt; <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Ord.html#t:Ord">Ord</a> a, <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Read.html#t:Read">Read</a> a) =&gt; <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Read.html#t:Read">Read</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> a =&gt; <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:toNubListR" class="def">toNubListR</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; [a] -&gt; <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a</p><div class="doc"><p>Smart constructor for the NubListR type.</p></div></div><div class="top"><p class="src"><a name="v:fromNubListR" class="def">fromNubListR</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a -&gt; [a]</p></div><div class="top"><p class="src"><a name="v:overNubListR" class="def">overNubListR</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; ([a] -&gt; [a]) -&gt; <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a -&gt; <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a</p><div class="doc"><p>Lift a function over lists to a function over NubListRs.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>