This file is indexed.

/usr/share/doc/libghc-dlist-doc/html/Data-DList.html is in libghc-dlist-doc 0.8.0.2-3.

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
<!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.DList</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="file:///usr/share/javascript/mathjax/MathJax.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Data-DList.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Data-DList.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">dlist-0.8.0.2: Difference lists</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Copyright</th><td>(c) 2006-2009 Don Stewart, 2013-2016 Sean Leather</td></tr><tr><th>License</th><td>See LICENSE file</td></tr><tr><th>Maintainer</th><td>sean.leather@gmail.com</td></tr><tr><th>Stability</th><td>stable</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell98</td></tr></table><p class="caption">Data.DList</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Construction</a></li><li><a href="#g:2">Basic functions</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Difference lists: a data structure for <em>O(1)</em> append on lists.</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:DList">DList</a> a</li><li class="src short"><a href="#v:fromList">fromList</a> :: [a] -&gt; <a href="Data-DList.html#t:DList">DList</a> a</li><li class="src short"><a href="#v:toList">toList</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; [a]</li><li class="src short"><a href="#v:apply">apply</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; [a] -&gt; [a]</li><li class="src short"><a href="#v:empty">empty</a> :: <a href="Data-DList.html#t:DList">DList</a> a</li><li class="src short"><a href="#v:singleton">singleton</a> :: a -&gt; <a href="Data-DList.html#t:DList">DList</a> a</li><li class="src short"><a href="#v:cons">cons</a> :: a -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a</li><li class="src short"><a href="#v:snoc">snoc</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; a -&gt; <a href="Data-DList.html#t:DList">DList</a> a</li><li class="src short"><a href="#v:append">append</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a</li><li class="src short"><a href="#v:concat">concat</a> :: [<a href="Data-DList.html#t:DList">DList</a> a] -&gt; <a href="Data-DList.html#t:DList">DList</a> a</li><li class="src short"><a href="#v:replicate">replicate</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; <a href="Data-DList.html#t:DList">DList</a> a</li><li class="src short"><a href="#v:list">list</a> :: b -&gt; (a -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; b) -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; b</li><li class="src short"><a href="#v:head">head</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; a</li><li class="src short"><a href="#v:tail">tail</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a</li><li class="src short"><a href="#v:unfoldr">unfoldr</a> :: (b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Maybe.html#t:Maybe">Maybe</a> (a, b)) -&gt; b -&gt; <a href="Data-DList.html#t:DList">DList</a> a</li><li class="src short"><a href="#v:foldr">foldr</a> :: (a -&gt; b -&gt; b) -&gt; b -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; b</li><li class="src short"><a href="#v:map">map</a> :: (a -&gt; b) -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> b</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:DList" class="def">DList</a> a <a href="src/Data-DList.html#DList" class="link">Source</a> <a href="#t:DList" class="selflink">#</a></p><div class="doc"><p>A difference list is a function that, given a list, returns the original
 contents of the difference list prepended to the given list.</p><p>This structure supports <em>O(1)</em> append and snoc operations on lists, making it
 very useful for append-heavy uses (esp. left-nested uses of <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/GHC-OldList.html#v:-43--43-">++</a></code>), such
 as logging and pretty printing.</p><p>Here is an example using DList as the state type when printing a tree with
 the Writer monad:</p><pre>import Control.Monad.Writer
import Data.DList

data Tree a = Leaf a | Branch (Tree a) (Tree a)

flatten_writer :: Tree x -&gt; DList x
flatten_writer = snd . runWriter . flatten
    where
      flatten (Leaf x)     = tell (singleton x)
      flatten (Branch x y) = flatten x &gt;&gt; flatten y</pre></div><div class="subs instances"><p id="control.i:DList" class="caption collapser" onclick="toggleSection('i:DList')">Instances</p><div id="section.i:DList" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DList:Monad:1" class="instance expander" onclick="toggleSection('i:id:DList:Monad:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> <a href="Data-DList.html#t:DList">DList</a></span> <a href="src/Data-DList.html#line-264" class="link">Source</a> <a href="#t:DList" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:DList:Monad:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-62--62--61-">(&gt;&gt;=)</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; (a -&gt; <a href="Data-DList.html#t:DList">DList</a> b) -&gt; <a href="Data-DList.html#t:DList">DList</a> b <a href="#v:-62--62--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62--62-">(&gt;&gt;)</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> b -&gt; <a href="Data-DList.html#t:DList">DList</a> b <a href="#v:-62--62-" class="selflink">#</a></p><p class="src"><a href="#v:return">return</a> :: a -&gt; <a href="Data-DList.html#t:DList">DList</a> a <a href="#v:return" class="selflink">#</a></p><p class="src"><a href="#v:fail">fail</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Data-DList.html#t:DList">DList</a> a <a href="#v:fail" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DList:Functor:2" class="instance expander" onclick="toggleSection('i:id:DList:Functor:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Functor.html#t:Functor">Functor</a> <a href="Data-DList.html#t:DList">DList</a></span> <a href="src/Data-DList.html#line-251" class="link">Source</a> <a href="#t:DList" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:DList:Functor:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -&gt; b) -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(&lt;$)</a> :: a -&gt; <a href="Data-DList.html#t:DList">DList</a> b -&gt; <a href="Data-DList.html#t:DList">DList</a> a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DList:Applicative:3" class="instance expander" onclick="toggleSection('i:id:DList:Applicative:3')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Applicative.html#t:Applicative">Applicative</a> <a href="Data-DList.html#t:DList">DList</a></span> <a href="src/Data-DList.html#line-255" class="link">Source</a> <a href="#t:DList" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:DList:Applicative:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -&gt; <a href="Data-DList.html#t:DList">DList</a> a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(&lt;*&gt;)</a> :: <a href="Data-DList.html#t:DList">DList</a> (a -&gt; b) -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*&gt;)</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> b -&gt; <a href="Data-DList.html#t:DList">DList</a> b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(&lt;*)</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> b -&gt; <a href="Data-DList.html#t:DList">DList</a> a <a href="#v:-60--42-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DList:Foldable:4" class="instance expander" onclick="toggleSection('i:id:DList:Foldable:4')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Foldable.html#t:Foldable">Foldable</a> <a href="Data-DList.html#t:DList">DList</a></span> <a href="src/Data-DList.html#line-284" class="link">Source</a> <a href="#t:DList" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:DList:Foldable:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fold">fold</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Monoid.html#t:Monoid">Monoid</a> m =&gt; <a href="Data-DList.html#t:DList">DList</a> m -&gt; m <a href="#v:fold" class="selflink">#</a></p><p class="src"><a href="#v:foldMap">foldMap</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Monoid.html#t:Monoid">Monoid</a> m =&gt; (a -&gt; m) -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; m <a href="#v:foldMap" class="selflink">#</a></p><p class="src"><a href="#v:foldr">foldr</a> :: (a -&gt; b -&gt; b) -&gt; b -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; b <a href="#v:foldr" class="selflink">#</a></p><p class="src"><a href="#v:foldr-39-">foldr'</a> :: (a -&gt; b -&gt; b) -&gt; b -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; b <a href="#v:foldr-39-" class="selflink">#</a></p><p class="src"><a href="#v:foldl">foldl</a> :: (b -&gt; a -&gt; b) -&gt; b -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; b <a href="#v:foldl" class="selflink">#</a></p><p class="src"><a href="#v:foldl-39-">foldl'</a> :: (b -&gt; a -&gt; b) -&gt; b -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; b <a href="#v:foldl-39-" class="selflink">#</a></p><p class="src"><a href="#v:foldr1">foldr1</a> :: (a -&gt; a -&gt; a) -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; a <a href="#v:foldr1" class="selflink">#</a></p><p class="src"><a href="#v:foldl1">foldl1</a> :: (a -&gt; a -&gt; a) -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; a <a href="#v:foldl1" class="selflink">#</a></p><p class="src"><a href="#v:toList">toList</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; [a] <a href="#v:toList" class="selflink">#</a></p><p class="src"><a href="#v:null">null</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:null" class="selflink">#</a></p><p class="src"><a href="#v:length">length</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Int.html#t:Int">Int</a> <a href="#v:length" class="selflink">#</a></p><p class="src"><a href="#v:elem">elem</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Eq.html#t:Eq">Eq</a> a =&gt; a -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:elem" class="selflink">#</a></p><p class="src"><a href="#v:maximum">maximum</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; a <a href="#v:maximum" class="selflink">#</a></p><p class="src"><a href="#v:minimum">minimum</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; a <a href="#v:minimum" class="selflink">#</a></p><p class="src"><a href="#v:sum">sum</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; a <a href="#v:sum" class="selflink">#</a></p><p class="src"><a href="#v:product">product</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; a <a href="#v:product" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DList:Alternative:5" class="instance expander" onclick="toggleSection('i:id:DList:Alternative:5')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Applicative.html#t:Alternative">Alternative</a> <a href="Data-DList.html#t:DList">DList</a></span> <a href="src/Data-DList.html#line-260" class="link">Source</a> <a href="#t:DList" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:DList:Alternative:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:empty">empty</a> :: <a href="Data-DList.html#t:DList">DList</a> a <a href="#v:empty" class="selflink">#</a></p><p class="src"><a href="#v:-60--124--62-">(&lt;|&gt;)</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a <a href="#v:-60--124--62-" class="selflink">#</a></p><p class="src"><a href="#v:some">some</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> [a] <a href="#v:some" class="selflink">#</a></p><p class="src"><a href="#v:many">many</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> [a] <a href="#v:many" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DList:MonadPlus:6" class="instance expander" onclick="toggleSection('i:id:DList:MonadPlus:6')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:MonadPlus">MonadPlus</a> <a href="Data-DList.html#t:DList">DList</a></span> <a href="src/Data-DList.html#line-280" class="link">Source</a> <a href="#t:DList" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:DList:MonadPlus:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mzero">mzero</a> :: <a href="Data-DList.html#t:DList">DList</a> a <a href="#v:mzero" class="selflink">#</a></p><p class="src"><a href="#v:mplus">mplus</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a <a href="#v:mplus" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DList:IsList:7" class="instance expander" onclick="toggleSection('i:id:DList:IsList:7')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/GHC-Exts.html#t:IsList">IsList</a> (<a href="Data-DList.html#t:DList">DList</a> a)</span> <a href="src/Data-DList.html#line-326" class="link">Source</a> <a href="#t:DList" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:DList:IsList:7" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/GHC-Exts.html#t:Item">Item</a> (<a href="Data-DList.html#t:DList">DList</a> a) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Item" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fromList">fromList</a> :: [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/GHC-Exts.html#t:Item">Item</a> (<a href="Data-DList.html#t:DList">DList</a> a)] -&gt; <a href="Data-DList.html#t:DList">DList</a> a <a href="#v:fromList" class="selflink">#</a></p><p class="src"><a href="#v:fromListN">fromListN</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Int.html#t:Int">Int</a> -&gt; [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/GHC-Exts.html#t:Item">Item</a> (<a href="Data-DList.html#t:DList">DList</a> a)] -&gt; <a href="Data-DList.html#t:DList">DList</a> a <a href="#v:fromListN" class="selflink">#</a></p><p class="src"><a href="#v:toList">toList</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/GHC-Exts.html#t:Item">Item</a> (<a href="Data-DList.html#t:DList">DList</a> a)] <a href="#v:toList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DList:Eq:8" class="instance expander" onclick="toggleSection('i:id:DList:Eq:8')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Eq.html#t:Eq">Eq</a> a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Data-DList.html#t:DList">DList</a> a)</span> <a href="src/Data-DList.html#line-221" class="link">Source</a> <a href="#t:DList" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:DList:Eq:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DList:Ord:9" class="instance expander" onclick="toggleSection('i:id:DList:Ord:9')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Ord.html#t:Ord">Ord</a> (<a href="Data-DList.html#t:DList">DList</a> a)</span> <a href="src/Data-DList.html#line-224" class="link">Source</a> <a href="#t:DList" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:DList:Ord:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(&lt;)</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(&lt;=)</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(&gt;)</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(&gt;=)</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DList:Read:10" class="instance expander" onclick="toggleSection('i:id:DList:Read:10')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Read.html#t:Read">Read</a> a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Read.html#t:Read">Read</a> (<a href="Data-DList.html#t:DList">DList</a> a)</span> <a href="src/Data-DList.html#line-229" class="link">Source</a> <a href="#t:DList" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:DList:Read:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> (<a href="Data-DList.html#t:DList">DList</a> a) <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> [<a href="Data-DList.html#t:DList">DList</a> a] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> (<a href="Data-DList.html#t:DList">DList</a> a) <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Data-DList.html#t:DList">DList</a> a] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DList:Show:11" class="instance expander" onclick="toggleSection('i:id:DList:Show:11')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Show.html#t:Show">Show</a> a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Show.html#t:Show">Show</a> (<a href="Data-DList.html#t:DList">DList</a> a)</span> <a href="src/Data-DList.html#line-243" class="link">Source</a> <a href="#t:DList" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:DList:Show:11" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Data-DList.html#t:DList">DList</a> a] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DList:IsString:12" class="instance expander" onclick="toggleSection('i:id:DList:IsString:12')"></span> (~) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Kind.html#t:-42-">*</a> a <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Char.html#t:Char">Char</a> =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-String.html#t:IsString">IsString</a> (<a href="Data-DList.html#t:DList">DList</a> a)</span> <a href="src/Data-DList.html#line-321" class="link">Source</a> <a href="#t:DList" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:DList:IsString:12" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fromString">fromString</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Data-DList.html#t:DList">DList</a> a <a href="#v:fromString" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DList:Semigroup:13" class="instance expander" onclick="toggleSection('i:id:DList:Semigroup:13')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Data-DList.html#t:DList">DList</a> a)</span> <a href="src/Data-DList.html#line-335" class="link">Source</a> <a href="#t:DList" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:DList:Semigroup:13" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(&lt;&gt;)</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Data-DList.html#t:DList">DList</a> a) -&gt; <a href="Data-DList.html#t:DList">DList</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Prelude.html#t:Integral">Integral</a> b =&gt; b -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DList:Monoid:14" class="instance expander" onclick="toggleSection('i:id:DList:Monoid:14')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Data-DList.html#t:DList">DList</a> a)</span> <a href="src/Data-DList.html#line-247" class="link">Source</a> <a href="#t:DList" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:DList:Monoid:14" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Data-DList.html#t:DList">DList</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Data-DList.html#t:DList">DList</a> a] -&gt; <a href="Data-DList.html#t:DList">DList</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DList:NFData:15" class="instance expander" onclick="toggleSection('i:id:DList:NFData:15')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/deepseq-1.4.2.0/Control-DeepSeq.html#t:NFData">NFData</a> a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/deepseq-1.4.2.0/Control-DeepSeq.html#t:NFData">NFData</a> (<a href="Data-DList.html#t:DList">DList</a> a)</span> <a href="src/Data-DList.html#line-313" class="link">Source</a> <a href="#t:DList" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:DList:NFData:15" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DList:Item:16" class="instance expander" onclick="toggleSection('i:id:DList:Item:16')"></span> <span class="keyword">type</span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/GHC-Exts.html#t:Item">Item</a> (<a href="Data-DList.html#t:DList">DList</a> a)</span> <a href="src/Data-DList.html#line-327" class="link">Source</a> <a href="#t:DList" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:DList:Item:16" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/GHC-Exts.html#t:Item">Item</a> (<a href="Data-DList.html#t:DList">DList</a> a) = a</div></div></td></tr></table></div></div></div><h1 id="g:1">Construction</h1><div class="top"><p class="src"><a id="v:fromList" class="def">fromList</a> :: [a] -&gt; <a href="Data-DList.html#t:DList">DList</a> a <a href="src/Data-DList.html#fromList" class="link">Source</a> <a href="#v:fromList" class="selflink">#</a></p><div class="doc"><p>Convert a list to a dlist</p></div></div><div class="top"><p class="src"><a id="v:toList" class="def">toList</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; [a] <a href="src/Data-DList.html#toList" class="link">Source</a> <a href="#v:toList" class="selflink">#</a></p><div class="doc"><p>Convert a dlist to a list</p></div></div><div class="top"><p class="src"><a id="v:apply" class="def">apply</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; [a] -&gt; [a] <a href="src/Data-DList.html#apply" class="link">Source</a> <a href="#v:apply" class="selflink">#</a></p><div class="doc"><p>Apply a dlist to a list to get the underlying list with an extension</p><pre>apply (fromList xs) ys = xs ++ ys</pre></div></div><h1 id="g:2">Basic functions</h1><div class="top"><p class="src"><a id="v:empty" class="def">empty</a> :: <a href="Data-DList.html#t:DList">DList</a> a <a href="src/Data-DList.html#empty" class="link">Source</a> <a href="#v:empty" class="selflink">#</a></p><div class="doc"><p>Create a dlist containing no elements</p></div></div><div class="top"><p class="src"><a id="v:singleton" class="def">singleton</a> :: a -&gt; <a href="Data-DList.html#t:DList">DList</a> a <a href="src/Data-DList.html#singleton" class="link">Source</a> <a href="#v:singleton" class="selflink">#</a></p><div class="doc"><p>Create dlist with a single element</p></div></div><div class="top"><p class="src"><a id="v:cons" class="def">cons</a> :: a -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a <span class="fixity">infixr 9</span><span class="rightedge"></span> <a href="src/Data-DList.html#cons" class="link">Source</a> <a href="#v:cons" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em>. Prepend a single element to a dlist</p></div></div><div class="top"><p class="src"><a id="v:snoc" class="def">snoc</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; a -&gt; <a href="Data-DList.html#t:DList">DList</a> a <span class="fixity">infixl 9</span><span class="rightedge"></span> <a href="src/Data-DList.html#snoc" class="link">Source</a> <a href="#v:snoc" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em>. Append a single element to a dlist</p></div></div><div class="top"><p class="src"><a id="v:append" class="def">append</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a <a href="src/Data-DList.html#append" class="link">Source</a> <a href="#v:append" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em>. Append dlists</p></div></div><div class="top"><p class="src"><a id="v:concat" class="def">concat</a> :: [<a href="Data-DList.html#t:DList">DList</a> a] -&gt; <a href="Data-DList.html#t:DList">DList</a> a <a href="src/Data-DList.html#concat" class="link">Source</a> <a href="#v:concat" class="selflink">#</a></p><div class="doc"><p><em>O(spine)</em>. Concatenate dlists</p></div></div><div class="top"><p class="src"><a id="v:replicate" class="def">replicate</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; <a href="Data-DList.html#t:DList">DList</a> a <a href="src/Data-DList.html#replicate" class="link">Source</a> <a href="#v:replicate" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em>. Create a dlist of the given number of elements</p></div></div><div class="top"><p class="src"><a id="v:list" class="def">list</a> :: b -&gt; (a -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; b) -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; b <a href="src/Data-DList.html#list" class="link">Source</a> <a href="#v:list" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em>. List elimination for dlists</p></div></div><div class="top"><p class="src"><a id="v:head" class="def">head</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; a <a href="src/Data-DList.html#head" class="link">Source</a> <a href="#v:head" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em>. Return the head of the dlist</p></div></div><div class="top"><p class="src"><a id="v:tail" class="def">tail</a> :: <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> a <a href="src/Data-DList.html#tail" class="link">Source</a> <a href="#v:tail" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em>. Return the tail of the dlist</p></div></div><div class="top"><p class="src"><a id="v:unfoldr" class="def">unfoldr</a> :: (b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Maybe.html#t:Maybe">Maybe</a> (a, b)) -&gt; b -&gt; <a href="Data-DList.html#t:DList">DList</a> a <a href="src/Data-DList.html#unfoldr" class="link">Source</a> <a href="#v:unfoldr" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em>. Unfoldr for dlists</p></div></div><div class="top"><p class="src"><a id="v:foldr" class="def">foldr</a> :: (a -&gt; b -&gt; b) -&gt; b -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; b <a href="src/Data-DList.html#foldr" class="link">Source</a> <a href="#v:foldr" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em>. Foldr over difference lists</p></div></div><div class="top"><p class="src"><a id="v:map" class="def">map</a> :: (a -&gt; b) -&gt; <a href="Data-DList.html#t:DList">DList</a> a -&gt; <a href="Data-DList.html#t:DList">DList</a> b <a href="src/Data-DList.html#map" class="link">Source</a> <a href="#v:map" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em>. Map over difference lists.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>