This file is indexed.

/usr/share/doc/libghc-vector-doc/html/Data-Vector-Generic.html is in libghc-vector-doc 0.12.0.1-2build1.

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
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<!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.Vector.Generic</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-Vector-Generic.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Data-Vector-Generic.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">vector-0.12.0.1: Efficient Arrays</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>(c) Roman Leshchinskiy 2008-2010</td></tr><tr><th>License</th><td>BSD-style</td></tr><tr><th>Maintainer</th><td>Roman Leshchinskiy &lt;rl@cse.unsw.edu.au&gt;</td></tr><tr><th>Stability</th><td>experimental</td></tr><tr><th>Portability</th><td>non-portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Data.Vector.Generic</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Immutable vectors</a></li><li><a href="#g:2">Accessors</a><ul><li><a href="#g:3">Length information</a></li><li><a href="#g:4">Indexing</a></li><li><a href="#g:5">Monadic indexing</a></li><li><a href="#g:6">Extracting subvectors (slicing)</a></li></ul></li><li><a href="#g:7">Construction</a><ul><li><a href="#g:8">Initialisation</a></li><li><a href="#g:9">Monadic initialisation</a></li><li><a href="#g:10">Unfolding</a></li><li><a href="#g:11">Enumeration</a></li><li><a href="#g:12">Concatenation</a></li><li><a href="#g:13">Restricting memory usage</a></li></ul></li><li><a href="#g:14">Modifying vectors</a><ul><li><a href="#g:15">Bulk updates</a></li><li><a href="#g:16">Accumulations</a></li><li><a href="#g:17">Permutations</a></li><li><a href="#g:18">Safe destructive updates</a></li></ul></li><li><a href="#g:19">Elementwise operations</a><ul><li><a href="#g:20">Indexing</a></li><li><a href="#g:21">Mapping</a></li><li><a href="#g:22">Monadic mapping</a></li><li><a href="#g:23">Zipping</a></li><li><a href="#g:24">Monadic zipping</a></li><li><a href="#g:25">Unzipping</a></li></ul></li><li><a href="#g:26">Working with predicates</a><ul><li><a href="#g:27">Filtering</a></li><li><a href="#g:28">Partitioning</a></li><li><a href="#g:29">Searching</a></li></ul></li><li><a href="#g:30">Folding</a><ul><li><a href="#g:31">Specialised folds</a></li><li><a href="#g:32">Monadic folds</a></li><li><a href="#g:33">Monadic sequencing</a></li></ul></li><li><a href="#g:34">Prefix sums (scans)</a></li><li><a href="#g:35">Conversions</a><ul><li><a href="#g:36">Lists</a></li><li><a href="#g:37">Different vector types</a></li><li><a href="#g:38">Mutable vectors</a></li></ul></li><li><a href="#g:39">Fusion support</a><ul><li><a href="#g:40">Conversion to/from Bundles</a></li><li><a href="#g:41">Recycling support</a></li></ul></li><li><a href="#g:42">Utilities</a><ul><li><a href="#g:43">Comparisons</a></li><li><a href="#g:44">Show and Read</a></li><li><a href="#g:45"><code>Data</code> and <code>Typeable</code></a></li></ul></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Generic interface to pure vectors.</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">class</span> <a href="Data-Vector-Generic-Mutable-Base.html#t:MVector">MVector</a> (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> v) a =&gt; <a href="#t:Vector">Vector</a> v a <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><span class="keyword">type family</span> <a href="#t:Mutable">Mutable</a> (v :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></li><li class="src short"><a href="#v:length">length</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:null">null</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:-33-">(!)</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a</li><li class="src short"><a href="#v:-33--63-">(!?)</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:head">head</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; a</li><li class="src short"><a href="#v:last">last</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; a</li><li class="src short"><a href="#v:unsafeIndex">unsafeIndex</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a</li><li class="src short"><a href="#v:unsafeHead">unsafeHead</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; a</li><li class="src short"><a href="#v:unsafeLast">unsafeLast</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; a</li><li class="src short"><a href="#v:indexM">indexM</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m a</li><li class="src short"><a href="#v:headM">headM</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; v a -&gt; m a</li><li class="src short"><a href="#v:lastM">lastM</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; v a -&gt; m a</li><li class="src short"><a href="#v:unsafeIndexM">unsafeIndexM</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m a</li><li class="src short"><a href="#v:unsafeHeadM">unsafeHeadM</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; v a -&gt; m a</li><li class="src short"><a href="#v:unsafeLastM">unsafeLastM</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; v a -&gt; m a</li><li class="src short"><a href="#v:slice">slice</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a -&gt; v a</li><li class="src short"><a href="#v:init">init</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; v a</li><li class="src short"><a href="#v:tail">tail</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; v a</li><li class="src short"><a href="#v:take">take</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a -&gt; v a</li><li class="src short"><a href="#v:drop">drop</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a -&gt; v a</li><li class="src short"><a href="#v:splitAt">splitAt</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a -&gt; (v a, v a)</li><li class="src short"><a href="#v:unsafeSlice">unsafeSlice</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a -&gt; v a</li><li class="src short"><a href="#v:unsafeInit">unsafeInit</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; v a</li><li class="src short"><a href="#v:unsafeTail">unsafeTail</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; v a</li><li class="src short"><a href="#v:unsafeTake">unsafeTake</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a -&gt; v a</li><li class="src short"><a href="#v:unsafeDrop">unsafeDrop</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a -&gt; v a</li><li class="src short"><a href="#v:empty">empty</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a</li><li class="src short"><a href="#v:singleton">singleton</a> :: <span class="keyword">forall</span> v a. <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; a -&gt; v a</li><li class="src short"><a href="#v:replicate">replicate</a> :: <span class="keyword">forall</span> v a. <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; v a</li><li class="src short"><a href="#v:generate">generate</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a) -&gt; v a</li><li class="src short"><a href="#v:iterateN">iterateN</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; (a -&gt; a) -&gt; a -&gt; v a</li><li class="src short"><a href="#v:replicateM">replicateM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m a -&gt; m (v a)</li><li class="src short"><a href="#v:generateM">generateM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m a) -&gt; m (v a)</li><li class="src short"><a href="#v:iterateNM">iterateNM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; (a -&gt; m a) -&gt; a -&gt; m (v a)</li><li class="src short"><a href="#v:create">create</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (<span class="keyword">forall</span> s. <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad-ST.html#t:ST">ST</a> s (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> v s a)) -&gt; v a</li><li class="src short"><a href="#v:createT">createT</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Traversable.html#t:Traversable">Traversable</a> f, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; (<span class="keyword">forall</span> s. <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad-ST.html#t:ST">ST</a> s (f (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> v s a))) -&gt; f (v a)</li><li class="src short"><a href="#v:unfoldr">unfoldr</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (a, b)) -&gt; b -&gt; v a</li><li class="src short"><a href="#v:unfoldrN">unfoldrN</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; (b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (a, b)) -&gt; b -&gt; v a</li><li class="src short"><a href="#v:unfoldrM">unfoldrM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; (b -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (a, b))) -&gt; b -&gt; m (v a)</li><li class="src short"><a href="#v:unfoldrNM">unfoldrNM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; (b -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (a, b))) -&gt; b -&gt; m (v a)</li><li class="src short"><a href="#v:constructN">constructN</a> :: <span class="keyword">forall</span> v a. <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; (v a -&gt; a) -&gt; v a</li><li class="src short"><a href="#v:constructrN">constructrN</a> :: <span class="keyword">forall</span> v a. <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; (v a -&gt; a) -&gt; v a</li><li class="src short"><a href="#v:enumFromN">enumFromN</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> a) =&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a</li><li class="src short"><a href="#v:enumFromStepN">enumFromStepN</a> :: <span class="keyword">forall</span> v a. (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> a) =&gt; a -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a</li><li class="src short"><a href="#v:enumFromTo">enumFromTo</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Enum">Enum</a> a) =&gt; a -&gt; a -&gt; v a</li><li class="src short"><a href="#v:enumFromThenTo">enumFromThenTo</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Enum">Enum</a> a) =&gt; a -&gt; a -&gt; a -&gt; v a</li><li class="src short"><a href="#v:cons">cons</a> :: <span class="keyword">forall</span> v a. <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; a -&gt; v a -&gt; v a</li><li class="src short"><a href="#v:snoc">snoc</a> :: <span class="keyword">forall</span> v a. <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; a -&gt; v a</li><li class="src short"><a href="#v:-43--43-">(++)</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; v a -&gt; v a</li><li class="src short"><a href="#v:concat">concat</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; [v a] -&gt; v a</li><li class="src short"><a href="#v:concatNE">concatNE</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (v a) -&gt; v a</li><li class="src short"><a href="#v:force">force</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; v a</li><li class="src short"><a href="#v:-47--47-">(//)</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; [(<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, a)] -&gt; v a</li><li class="src short"><a href="#v:update">update</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, a)) =&gt; v a -&gt; v (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, a) -&gt; v a</li><li class="src short"><a href="#v:update_">update_</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>) =&gt; v a -&gt; v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a -&gt; v a</li><li class="src short"><a href="#v:unsafeUpd">unsafeUpd</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; [(<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, a)] -&gt; v a</li><li class="src short"><a href="#v:unsafeUpdate">unsafeUpdate</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, a)) =&gt; v a -&gt; v (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, a) -&gt; v a</li><li class="src short"><a href="#v:unsafeUpdate_">unsafeUpdate_</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>) =&gt; v a -&gt; v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a -&gt; v a</li><li class="src short"><a href="#v:accum">accum</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; b -&gt; a) -&gt; v a -&gt; [(<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, b)] -&gt; v a</li><li class="src short"><a href="#v:accumulate">accumulate</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, b)) =&gt; (a -&gt; b -&gt; a) -&gt; v a -&gt; v (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, b) -&gt; v a</li><li class="src short"><a href="#v:accumulate_">accumulate_</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; a) -&gt; v a -&gt; v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v b -&gt; v a</li><li class="src short"><a href="#v:unsafeAccum">unsafeAccum</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; b -&gt; a) -&gt; v a -&gt; [(<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, b)] -&gt; v a</li><li class="src short"><a href="#v:unsafeAccumulate">unsafeAccumulate</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, b)) =&gt; (a -&gt; b -&gt; a) -&gt; v a -&gt; v (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, b) -&gt; v a</li><li class="src short"><a href="#v:unsafeAccumulate_">unsafeAccumulate_</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; a) -&gt; v a -&gt; v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v b -&gt; v a</li><li class="src short"><a href="#v:reverse">reverse</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; v a</li><li class="src short"><a href="#v:backpermute">backpermute</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>) =&gt; v a -&gt; v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a</li><li class="src short"><a href="#v:unsafeBackpermute">unsafeBackpermute</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>) =&gt; v a -&gt; v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a</li><li class="src short"><a href="#v:modify">modify</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (<span class="keyword">forall</span> s. <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> v s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad-ST.html#t:ST">ST</a> s ()) -&gt; v a -&gt; v a</li><li class="src short"><a href="#v:indexed">indexed</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, a)) =&gt; v a -&gt; v (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, a)</li><li class="src short"><a href="#v:map">map</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b) -&gt; v a -&gt; v b</li><li class="src short"><a href="#v:imap">imap</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b) -&gt; v a -&gt; v b</li><li class="src short"><a href="#v:concatMap">concatMap</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; v b) -&gt; v a -&gt; v b</li><li class="src short"><a href="#v:mapM">mapM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; m b) -&gt; v a -&gt; m (v b)</li><li class="src short"><a href="#v:imapM">imapM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; m b) -&gt; v a -&gt; m (v b)</li><li class="src short"><a href="#v:mapM_">mapM_</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; (a -&gt; m b) -&gt; v a -&gt; m ()</li><li class="src short"><a href="#v:imapM_">imapM_</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; m b) -&gt; v a -&gt; m ()</li><li class="src short"><a href="#v:forM">forM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; v a -&gt; (a -&gt; m b) -&gt; m (v b)</li><li class="src short"><a href="#v:forM_">forM_</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; v a -&gt; (a -&gt; m b) -&gt; m ()</li><li class="src short"><a href="#v:zipWith">zipWith</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c) =&gt; (a -&gt; b -&gt; c) -&gt; v a -&gt; v b -&gt; v c</li><li class="src short"><a href="#v:zipWith3">zipWith3</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d) =&gt; (a -&gt; b -&gt; c -&gt; d) -&gt; v a -&gt; v b -&gt; v c -&gt; v d</li><li class="src short"><a href="#v:zipWith4">zipWith4</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v e) =&gt; (a -&gt; b -&gt; c -&gt; d -&gt; e) -&gt; v a -&gt; v b -&gt; v c -&gt; v d -&gt; v e</li><li class="src short"><a href="#v:zipWith5">zipWith5</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v e, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v f) =&gt; (a -&gt; b -&gt; c -&gt; d -&gt; e -&gt; f) -&gt; v a -&gt; v b -&gt; v c -&gt; v d -&gt; v e -&gt; v f</li><li class="src short"><a href="#v:zipWith6">zipWith6</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v e, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v f, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v g) =&gt; (a -&gt; b -&gt; c -&gt; d -&gt; e -&gt; f -&gt; g) -&gt; v a -&gt; v b -&gt; v c -&gt; v d -&gt; v e -&gt; v f -&gt; v g</li><li class="src short"><a href="#v:izipWith">izipWith</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; c) -&gt; v a -&gt; v b -&gt; v c</li><li class="src short"><a href="#v:izipWith3">izipWith3</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; c -&gt; d) -&gt; v a -&gt; v b -&gt; v c -&gt; v d</li><li class="src short"><a href="#v:izipWith4">izipWith4</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v e) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; c -&gt; d -&gt; e) -&gt; v a -&gt; v b -&gt; v c -&gt; v d -&gt; v e</li><li class="src short"><a href="#v:izipWith5">izipWith5</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v e, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v f) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; c -&gt; d -&gt; e -&gt; f) -&gt; v a -&gt; v b -&gt; v c -&gt; v d -&gt; v e -&gt; v f</li><li class="src short"><a href="#v:izipWith6">izipWith6</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v e, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v f, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v g) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; c -&gt; d -&gt; e -&gt; f -&gt; g) -&gt; v a -&gt; v b -&gt; v c -&gt; v d -&gt; v e -&gt; v f -&gt; v g</li><li class="src short"><a href="#v:zip">zip</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (a, b)) =&gt; v a -&gt; v b -&gt; v (a, b)</li><li class="src short"><a href="#v:zip3">zip3</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (a, b, c)) =&gt; v a -&gt; v b -&gt; v c -&gt; v (a, b, c)</li><li class="src short"><a href="#v:zip4">zip4</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (a, b, c, d)) =&gt; v a -&gt; v b -&gt; v c -&gt; v d -&gt; v (a, b, c, d)</li><li class="src short"><a href="#v:zip5">zip5</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v e, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (a, b, c, d, e)) =&gt; v a -&gt; v b -&gt; v c -&gt; v d -&gt; v e -&gt; v (a, b, c, d, e)</li><li class="src short"><a href="#v:zip6">zip6</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v e, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v f, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (a, b, c, d, e, f)) =&gt; v a -&gt; v b -&gt; v c -&gt; v d -&gt; v e -&gt; v f -&gt; v (a, b, c, d, e, f)</li><li class="src short"><a href="#v:zipWithM">zipWithM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c) =&gt; (a -&gt; b -&gt; m c) -&gt; v a -&gt; v b -&gt; m (v c)</li><li class="src short"><a href="#v:izipWithM">izipWithM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; m c) -&gt; v a -&gt; v b -&gt; m (v c)</li><li class="src short"><a href="#v:zipWithM_">zipWithM_</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; m c) -&gt; v a -&gt; v b -&gt; m ()</li><li class="src short"><a href="#v:izipWithM_">izipWithM_</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; m c) -&gt; v a -&gt; v b -&gt; m ()</li><li class="src short"><a href="#v:unzip">unzip</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (a, b)) =&gt; v (a, b) -&gt; (v a, v b)</li><li class="src short"><a href="#v:unzip3">unzip3</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (a, b, c)) =&gt; v (a, b, c) -&gt; (v a, v b, v c)</li><li class="src short"><a href="#v:unzip4">unzip4</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (a, b, c, d)) =&gt; v (a, b, c, d) -&gt; (v a, v b, v c, v d)</li><li class="src short"><a href="#v:unzip5">unzip5</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v e, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (a, b, c, d, e)) =&gt; v (a, b, c, d, e) -&gt; (v a, v b, v c, v d, v e)</li><li class="src short"><a href="#v:unzip6">unzip6</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v e, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v f, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (a, b, c, d, e, f)) =&gt; v (a, b, c, d, e, f) -&gt; (v a, v b, v c, v d, v e, v f)</li><li class="src short"><a href="#v:filter">filter</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; v a</li><li class="src short"><a href="#v:ifilter">ifilter</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; v a</li><li class="src short"><a href="#v:uniq">uniq</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a) =&gt; v a -&gt; v a</li><li class="src short"><a href="#v:mapMaybe">mapMaybe</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> b) -&gt; v a -&gt; v b</li><li class="src short"><a href="#v:imapMaybe">imapMaybe</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> b) -&gt; v a -&gt; v b</li><li class="src short"><a href="#v:filterM">filterM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; (a -&gt; m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; m (v a)</li><li class="src short"><a href="#v:takeWhile">takeWhile</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; v a</li><li class="src short"><a href="#v:dropWhile">dropWhile</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; v a</li><li class="src short"><a href="#v:partition">partition</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; (v a, v a)</li><li class="src short"><a href="#v:unstablePartition">unstablePartition</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; (v a, v a)</li><li class="src short"><a href="#v:span">span</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; (v a, v a)</li><li class="src short"><a href="#v:break">break</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; (v a, v a)</li><li class="src short"><a href="#v:elem">elem</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a) =&gt; a -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:notElem">notElem</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a) =&gt; a -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:find">find</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:findIndex">findIndex</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:findIndices">findIndices</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>) =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:elemIndex">elemIndex</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a) =&gt; a -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:elemIndices">elemIndices</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a) =&gt; a -&gt; v a -&gt; v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:foldl">foldl</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b =&gt; (a -&gt; b -&gt; a) -&gt; a -&gt; v b -&gt; a</li><li class="src short"><a href="#v:foldl1">foldl1</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; a -&gt; a) -&gt; v a -&gt; a</li><li class="src short"><a href="#v:foldl-39-">foldl'</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b =&gt; (a -&gt; b -&gt; a) -&gt; a -&gt; v b -&gt; a</li><li class="src short"><a href="#v:foldl1-39-">foldl1'</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; a -&gt; a) -&gt; v a -&gt; a</li><li class="src short"><a href="#v:foldr">foldr</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; b -&gt; b) -&gt; b -&gt; v a -&gt; b</li><li class="src short"><a href="#v:foldr1">foldr1</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; a -&gt; a) -&gt; v a -&gt; a</li><li class="src short"><a href="#v:foldr-39-">foldr'</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; b -&gt; b) -&gt; b -&gt; v a -&gt; b</li><li class="src short"><a href="#v:foldr1-39-">foldr1'</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; a -&gt; a) -&gt; v a -&gt; a</li><li class="src short"><a href="#v:ifoldl">ifoldl</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; b -&gt; a) -&gt; a -&gt; v b -&gt; a</li><li class="src short"><a href="#v:ifoldl-39-">ifoldl'</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; b -&gt; a) -&gt; a -&gt; v b -&gt; a</li><li class="src short"><a href="#v:ifoldr">ifoldr</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; b) -&gt; b -&gt; v a -&gt; b</li><li class="src short"><a href="#v:ifoldr-39-">ifoldr'</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; b) -&gt; b -&gt; v a -&gt; b</li><li class="src short"><a href="#v:all">all</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:any">any</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:and">and</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> =&gt; v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:or">or</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> =&gt; v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:sum">sum</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> a) =&gt; v a -&gt; a</li><li class="src short"><a href="#v:product">product</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> a) =&gt; v a -&gt; a</li><li class="src short"><a href="#v:maximum">maximum</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a) =&gt; v a -&gt; a</li><li class="src short"><a href="#v:maximumBy">maximumBy</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a>) -&gt; v a -&gt; a</li><li class="src short"><a href="#v:minimum">minimum</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a) =&gt; v a -&gt; a</li><li class="src short"><a href="#v:minimumBy">minimumBy</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a>) -&gt; v a -&gt; a</li><li class="src short"><a href="#v:minIndex">minIndex</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a) =&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:minIndexBy">minIndexBy</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a>) -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:maxIndex">maxIndex</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a) =&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:maxIndexBy">maxIndexBy</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a>) -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:foldM">foldM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; m a) -&gt; a -&gt; v b -&gt; m a</li><li class="src short"><a href="#v:ifoldM">ifoldM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; b -&gt; m a) -&gt; a -&gt; v b -&gt; m a</li><li class="src short"><a href="#v:foldM-39-">foldM'</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; m a) -&gt; a -&gt; v b -&gt; m a</li><li class="src short"><a href="#v:ifoldM-39-">ifoldM'</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; b -&gt; m a) -&gt; a -&gt; v b -&gt; m a</li><li class="src short"><a href="#v:fold1M">fold1M</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; (a -&gt; a -&gt; m a) -&gt; v a -&gt; m a</li><li class="src short"><a href="#v:fold1M-39-">fold1M'</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; (a -&gt; a -&gt; m a) -&gt; v a -&gt; m a</li><li class="src short"><a href="#v:foldM_">foldM_</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; m a) -&gt; a -&gt; v b -&gt; m ()</li><li class="src short"><a href="#v:ifoldM_">ifoldM_</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; b -&gt; m a) -&gt; a -&gt; v b -&gt; m ()</li><li class="src short"><a href="#v:foldM-39-_">foldM'_</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; m a) -&gt; a -&gt; v b -&gt; m ()</li><li class="src short"><a href="#v:ifoldM-39-_">ifoldM'_</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; b -&gt; m a) -&gt; a -&gt; v b -&gt; m ()</li><li class="src short"><a href="#v:fold1M_">fold1M_</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; (a -&gt; a -&gt; m a) -&gt; v a -&gt; m ()</li><li class="src short"><a href="#v:fold1M-39-_">fold1M'_</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; (a -&gt; a -&gt; m a) -&gt; v a -&gt; m ()</li><li class="src short"><a href="#v:sequence">sequence</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (m a)) =&gt; v (m a) -&gt; m (v a)</li><li class="src short"><a href="#v:sequence_">sequence_</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (m a)) =&gt; v (m a) -&gt; m ()</li><li class="src short"><a href="#v:prescanl">prescanl</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; a) -&gt; a -&gt; v b -&gt; v a</li><li class="src short"><a href="#v:prescanl-39-">prescanl'</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; a) -&gt; a -&gt; v b -&gt; v a</li><li class="src short"><a href="#v:postscanl">postscanl</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; a) -&gt; a -&gt; v b -&gt; v a</li><li class="src short"><a href="#v:postscanl-39-">postscanl'</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; a) -&gt; a -&gt; v b -&gt; v a</li><li class="src short"><a href="#v:scanl">scanl</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; a) -&gt; a -&gt; v b -&gt; v a</li><li class="src short"><a href="#v:scanl-39-">scanl'</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; a) -&gt; a -&gt; v b -&gt; v a</li><li class="src short"><a href="#v:scanl1">scanl1</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; a -&gt; a) -&gt; v a -&gt; v a</li><li class="src short"><a href="#v:scanl1-39-">scanl1'</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; a -&gt; a) -&gt; v a -&gt; v a</li><li class="src short"><a href="#v:iscanl">iscanl</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; a) -&gt; a -&gt; v b -&gt; v a</li><li class="src short"><a href="#v:iscanl-39-">iscanl'</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; a) -&gt; a -&gt; v b -&gt; v a</li><li class="src short"><a href="#v:prescanr">prescanr</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; b) -&gt; b -&gt; v a -&gt; v b</li><li class="src short"><a href="#v:prescanr-39-">prescanr'</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; b) -&gt; b -&gt; v a -&gt; v b</li><li class="src short"><a href="#v:postscanr">postscanr</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; b) -&gt; b -&gt; v a -&gt; v b</li><li class="src short"><a href="#v:postscanr-39-">postscanr'</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; b) -&gt; b -&gt; v a -&gt; v b</li><li class="src short"><a href="#v:scanr">scanr</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; b) -&gt; b -&gt; v a -&gt; v b</li><li class="src short"><a href="#v:scanr-39-">scanr'</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; b) -&gt; b -&gt; v a -&gt; v b</li><li class="src short"><a href="#v:scanr1">scanr1</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; a -&gt; a) -&gt; v a -&gt; v a</li><li class="src short"><a href="#v:scanr1-39-">scanr1'</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; a -&gt; a) -&gt; v a -&gt; v a</li><li class="src short"><a href="#v:iscanr">iscanr</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; b) -&gt; b -&gt; v a -&gt; v b</li><li class="src short"><a href="#v:iscanr-39-">iscanr'</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; b) -&gt; b -&gt; v a -&gt; v b</li><li class="src short"><a href="#v:toList">toList</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; [a]</li><li class="src short"><a href="#v:fromList">fromList</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; [a] -&gt; v a</li><li class="src short"><a href="#v:fromListN">fromListN</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; [a] -&gt; v a</li><li class="src short"><a href="#v:convert">convert</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> w a) =&gt; v a -&gt; w a</li><li class="src short"><a href="#v:freeze">freeze</a> :: (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> v (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; m (v a)</li><li class="src short"><a href="#v:thaw">thaw</a> :: (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; v a -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> v (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)</li><li class="src short"><a href="#v:copy">copy</a> :: (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> v (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; v a -&gt; m ()</li><li class="src short"><a href="#v:unsafeFreeze">unsafeFreeze</a> :: (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> v (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; m (v a)</li><li class="src short"><a href="#v:unsafeThaw">unsafeThaw</a> :: (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; v a -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> v (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)</li><li class="src short"><a href="#v:unsafeCopy">unsafeCopy</a> :: (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> v (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; v a -&gt; m ()</li><li class="src short"><a href="#v:stream">stream</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; <a href="Data-Vector-Fusion-Bundle.html#t:Bundle">Bundle</a> v a</li><li class="src short"><a href="#v:unstream">unstream</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="Data-Vector-Fusion-Bundle.html#t:Bundle">Bundle</a> v a -&gt; v a</li><li class="src short"><a href="#v:streamR">streamR</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; <a href="Data-Vector-Fusion-Bundle.html#t:Bundle">Bundle</a> u a</li><li class="src short"><a href="#v:unstreamR">unstreamR</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="Data-Vector-Fusion-Bundle.html#t:Bundle">Bundle</a> v a -&gt; v a</li><li class="src short"><a href="#v:new">new</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="Data-Vector-Generic-New.html#t:New">New</a> v a -&gt; v a</li><li class="src short"><a href="#v:clone">clone</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; <a href="Data-Vector-Generic-New.html#t:New">New</a> v a</li><li class="src short"><a href="#v:eq">eq</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a) =&gt; v a -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:cmp">cmp</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a) =&gt; v a -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a></li><li class="src short"><a href="#v:eqBy">eqBy</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; v b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:cmpBy">cmpBy</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a>) -&gt; v a -&gt; v b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a></li><li class="src short"><a href="#v:showsPrec">showsPrec</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:Show">Show</a> a) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a></li><li class="src short"><a href="#v:readPrec">readPrec</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Read.html#t:Read">Read</a> a) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> (v a)</li><li class="src short"><a href="#v:liftShowsPrec">liftShowsPrec</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a>) -&gt; ([a] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a>) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a></li><li class="src short"><a href="#v:liftReadsPrec">liftReadsPrec</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> a) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> [a] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> (v a)</li><li class="src short"><a href="#v:gfoldl">gfoldl</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Data">Data</a> a) =&gt; (<span class="keyword">forall</span> d b. <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Data">Data</a> d =&gt; c (d -&gt; b) -&gt; d -&gt; c b) -&gt; (<span class="keyword">forall</span> g. g -&gt; c g) -&gt; v a -&gt; c (v a)</li><li class="src short"><a href="#v:dataCast">dataCast</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Data">Data</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> t) =&gt; (<span class="keyword">forall</span> d. <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Data">Data</a> d =&gt; c (t d)) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c (v a))</li><li class="src short"><a href="#v:mkType">mkType</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:DataType">DataType</a></li></ul></div><div id="interface"><h1 id="g:1">Immutable vectors</h1><div class="top"><p class="src"><span class="keyword">class</span> <a href="Data-Vector-Generic-Mutable-Base.html#t:MVector">MVector</a> (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> v) a =&gt; <a id="t:Vector" class="def">Vector</a> v a <span class="keyword">where</span> <a href="src/Data-Vector-Generic-Base.html#Vector" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></p><div class="doc"><p>Class of immutable vectors. Every immutable vector is associated with its
 mutable version through the <code><a href="Data-Vector-Generic.html#t:Mutable">Mutable</a></code> type family. Methods of this class
 should not be used directly. Instead, <a href="Data-Vector-Generic.html">Data.Vector.Generic</a> and other
 Data.Vector modules provide safe and fusible wrappers.</p><p>Minimum complete implementation:</p><ul><li><code><a href="Data-Vector-Generic.html#v:basicUnsafeFreeze">basicUnsafeFreeze</a></code></li><li><code><a href="Data-Vector-Generic.html#v:basicUnsafeThaw">basicUnsafeThaw</a></code></li><li><code><a href="Data-Vector-Generic.html#v:basicLength">basicLength</a></code></li><li><code><a href="Data-Vector-Generic.html#v:basicUnsafeSlice">basicUnsafeSlice</a></code></li><li><code><a href="Data-Vector-Generic.html#v:basicUnsafeIndexM">basicUnsafeIndexM</a></code></li></ul></div><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Data-Vector-Generic.html#v:basicUnsafeFreeze">basicUnsafeFreeze</a>, <a href="Data-Vector-Generic.html#v:basicUnsafeThaw">basicUnsafeThaw</a>, <a href="Data-Vector-Generic.html#v:basicLength">basicLength</a>, <a href="Data-Vector-Generic.html#v:basicUnsafeSlice">basicUnsafeSlice</a>, <a href="Data-Vector-Generic.html#v:basicUnsafeIndexM">basicUnsafeIndexM</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:basicUnsafeFreeze" class="def">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> v (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; m (v a) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><div class="doc"><p><em>Assumed complexity: O(1)</em></p><p>Unsafely convert a mutable vector to its immutable version
 without copying. The mutable vector may not be used after
 this operation.</p></div><p class="src"><a id="v:basicUnsafeThaw" class="def">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; v a -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> v (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><div class="doc"><p><em>Assumed complexity: O(1)</em></p><p>Unsafely convert an immutable vector to its mutable version without
 copying. The immutable vector may not be used after this operation.</p></div><p class="src"><a id="v:basicLength" class="def">basicLength</a> :: v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><div class="doc"><p><em>Assumed complexity: O(1)</em></p><p>Yield the length of the vector.</p></div><p class="src"><a id="v:basicUnsafeSlice" class="def">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a -&gt; v a <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><div class="doc"><p><em>Assumed complexity: O(1)</em></p><p>Yield a slice of the vector without copying it. No range checks are
 performed.</p></div><p class="src"><a id="v:basicUnsafeIndexM" class="def">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m a <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><div class="doc"><p><em>Assumed complexity: O(1)</em></p><p>Yield the element at the given position in a monad. No range checks are
 performed.</p><p>The monad allows us to be strict in the vector if we want. Suppose we had</p><pre>unsafeIndex :: v a -&gt; Int -&gt; a</pre><p>instead. Now, if we wanted to copy a vector, we'd do something like</p><pre>copy mv v ... = ... unsafeWrite mv i (unsafeIndex v i) ...</pre><p>For lazy vectors, the indexing would not be evaluated which means that we
 would retain a reference to the original vector in each element we write.
 This is not what we want!</p><p>With <code><a href="Data-Vector-Generic.html#v:basicUnsafeIndexM">basicUnsafeIndexM</a></code>, we can do</p><pre>copy mv v ... = ... case basicUnsafeIndexM v i of
                      Box x -&gt; unsafeWrite mv i x ...</pre><p>which does not have this problem because indexing (but not the returned
 element!) is evaluated immediately.</p></div><p class="src"><a id="v:basicUnsafeCopy" class="def">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> v (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; v a -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><div class="doc"><p><em>Assumed complexity: O(n)</em></p><p>Copy an immutable vector into a mutable one. The two vectors must have
 the same length but this is not checked.</p><p>Instances of <code><a href="Data-Vector-Generic.html#t:Vector">Vector</a></code> should redefine this method if they wish to support
 an efficient block copy operation.</p><p>Default definition: copying basic on <code><a href="Data-Vector-Generic.html#v:basicUnsafeIndexM">basicUnsafeIndexM</a></code> and
 <code>basicUnsafeWrite</code>.</p></div><p class="src"><a id="v:elemseq" class="def">elemseq</a> :: v a -&gt; a -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p><div class="doc"><p>Evaluate <code>a</code> as far as storing it in a vector would and yield <code>b</code>.
 The <code>v a</code> argument only fixes the type and is not touched. The method is
 only used for optimisation purposes. Thus, it is safe for instances of
 <code><a href="Data-Vector-Generic.html#t:Vector">Vector</a></code> to evaluate <code>a</code> less than it would be when stored in a vector
 although this might result in suboptimal code.</p><pre>elemseq v x y = (singleton x `asTypeOf` v) `seq` y</pre><p>Default defintion: <code>a</code> is not evaluated at all</p></div></div><div class="subs instances"><p id="control.i:Vector" class="caption collapser" onclick="toggleSection('i:Vector')">Instances</p><div id="section.i:Vector" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Vector:Vector:1" class="instance expander" onclick="toggleSection('i:ic:Vector:Vector:1')"></span> <a href="Data-Vector-Primitive-Mutable.html#t:Prim">Prim</a> a =&gt; <a href="Data-Vector-Generic.html#t:Vector">Vector</a> <a href="Data-Vector-Primitive.html#t:Vector">Vector</a> a</span> <a href="src/Data-Vector-Generic-Base.html#line-206" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Vector:Vector:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:basicUnsafeFreeze">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Primitive.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; m (<a href="Data-Vector-Primitive.html#t:Vector">Vector</a> a) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeThaw">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Primitive.html#t:Vector">Vector</a> a -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Primitive.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><p class="src"><a href="#v:basicLength">basicLength</a> :: <a href="Data-Vector-Primitive.html#t:Vector">Vector</a> a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeSlice">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Primitive.html#t:Vector">Vector</a> a -&gt; <a href="Data-Vector-Primitive.html#t:Vector">Vector</a> a <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeIndexM">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Vector-Primitive.html#t:Vector">Vector</a> a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m a <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeCopy">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Primitive.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; <a href="Data-Vector-Primitive.html#t:Vector">Vector</a> a -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><p class="src"><a href="#v:elemseq">elemseq</a> :: <a href="Data-Vector-Primitive.html#t:Vector">Vector</a> a -&gt; a -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Vector:Vector:2" class="instance expander" onclick="toggleSection('i:ic:Vector:Vector:2')"></span> <a href="Data-Vector-Generic.html#t:Vector">Vector</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></span> <a href="src/Data-Vector-Generic-Base.html#line-334" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Vector:Vector:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:basicUnsafeFreeze">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; m (<a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeThaw">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><p class="src"><a href="#v:basicLength">basicLength</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeSlice">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeIndexM">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeCopy">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><p class="src"><a href="#v:elemseq">elemseq</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Vector:Vector:3" class="instance expander" onclick="toggleSection('i:ic:Vector:Vector:3')"></span> <a href="Data-Vector-Generic.html#t:Vector">Vector</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Char.html#t:Char">Char</a></span> <a href="src/Data-Vector-Generic-Base.html#line-286" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Vector:Vector:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:basicUnsafeFreeze">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Char.html#t:Char">Char</a> -&gt; m (<a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Char.html#t:Char">Char</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeThaw">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Char.html#t:Char">Char</a> -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Char.html#t:Char">Char</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><p class="src"><a href="#v:basicLength">basicLength</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Char.html#t:Char">Char</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeSlice">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Char.html#t:Char">Char</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Char.html#t:Char">Char</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeIndexM">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Char.html#t:Char">Char</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Char.html#t:Char">Char</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeCopy">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Char.html#t:Char">Char</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Char.html#t:Char">Char</a> -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><p class="src"><a href="#v:elemseq">elemseq</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Char.html#t:Char">Char</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Char.html#t:Char">Char</a> -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Vector:Vector:4" class="instance expander" onclick="toggleSection('i:ic:Vector:Vector:4')"></span> <a href="Data-Vector-Generic.html#t:Vector">Vector</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Double">Double</a></span> <a href="src/Data-Vector-Generic-Base.html#line-279" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Vector:Vector:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:basicUnsafeFreeze">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Double">Double</a> -&gt; m (<a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Double">Double</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeThaw">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Double">Double</a> -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Double">Double</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><p class="src"><a href="#v:basicLength">basicLength</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Double">Double</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeSlice">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Double">Double</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Double">Double</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeIndexM">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Double">Double</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Double">Double</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeCopy">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Double">Double</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Double">Double</a> -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><p class="src"><a href="#v:elemseq">elemseq</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Double">Double</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Double">Double</a> -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Vector:Vector:5" class="instance expander" onclick="toggleSection('i:ic:Vector:Vector:5')"></span> <a href="Data-Vector-Generic.html#t:Vector">Vector</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Float">Float</a></span> <a href="src/Data-Vector-Generic-Base.html#line-273" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Vector:Vector:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:basicUnsafeFreeze">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Float">Float</a> -&gt; m (<a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Float">Float</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeThaw">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Float">Float</a> -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Float">Float</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><p class="src"><a href="#v:basicLength">basicLength</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Float">Float</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeSlice">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Float">Float</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Float">Float</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeIndexM">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Float">Float</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Float">Float</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeCopy">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Float">Float</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Float">Float</a> -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><p class="src"><a href="#v:elemseq">elemseq</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Float">Float</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Float">Float</a> -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Vector:Vector:6" class="instance expander" onclick="toggleSection('i:ic:Vector:Vector:6')"></span> <a href="Data-Vector-Generic.html#t:Vector">Vector</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></span> <a href="src/Data-Vector-Generic-Base.html#line-211" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Vector:Vector:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:basicUnsafeFreeze">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m (<a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeThaw">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><p class="src"><a href="#v:basicLength">basicLength</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeSlice">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeIndexM">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeCopy">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><p class="src"><a href="#v:elemseq">elemseq</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Vector:Vector:7" class="instance expander" onclick="toggleSection('i:ic:Vector:Vector:7')"></span> <a href="Data-Vector-Generic.html#t:Vector">Vector</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int8">Int8</a></span> <a href="src/Data-Vector-Generic-Base.html#line-217" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Vector:Vector:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:basicUnsafeFreeze">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int8">Int8</a> -&gt; m (<a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int8">Int8</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeThaw">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int8">Int8</a> -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int8">Int8</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><p class="src"><a href="#v:basicLength">basicLength</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int8">Int8</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeSlice">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int8">Int8</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int8">Int8</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeIndexM">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int8">Int8</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int8">Int8</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeCopy">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int8">Int8</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int8">Int8</a> -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><p class="src"><a href="#v:elemseq">elemseq</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int8">Int8</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int8">Int8</a> -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Vector:Vector:8" class="instance expander" onclick="toggleSection('i:ic:Vector:Vector:8')"></span> <a href="Data-Vector-Generic.html#t:Vector">Vector</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int16">Int16</a></span> <a href="src/Data-Vector-Generic-Base.html#line-223" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Vector:Vector:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:basicUnsafeFreeze">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int16">Int16</a> -&gt; m (<a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int16">Int16</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeThaw">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int16">Int16</a> -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int16">Int16</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><p class="src"><a href="#v:basicLength">basicLength</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int16">Int16</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeSlice">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int16">Int16</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int16">Int16</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeIndexM">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int16">Int16</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int16">Int16</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeCopy">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int16">Int16</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int16">Int16</a> -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><p class="src"><a href="#v:elemseq">elemseq</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int16">Int16</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int16">Int16</a> -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Vector:Vector:9" class="instance expander" onclick="toggleSection('i:ic:Vector:Vector:9')"></span> <a href="Data-Vector-Generic.html#t:Vector">Vector</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int32">Int32</a></span> <a href="src/Data-Vector-Generic-Base.html#line-229" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Vector:Vector:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:basicUnsafeFreeze">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int32">Int32</a> -&gt; m (<a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int32">Int32</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeThaw">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int32">Int32</a> -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int32">Int32</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><p class="src"><a href="#v:basicLength">basicLength</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int32">Int32</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeSlice">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int32">Int32</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int32">Int32</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeIndexM">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int32">Int32</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int32">Int32</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeCopy">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int32">Int32</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int32">Int32</a> -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><p class="src"><a href="#v:elemseq">elemseq</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int32">Int32</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int32">Int32</a> -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Vector:Vector:10" class="instance expander" onclick="toggleSection('i:ic:Vector:Vector:10')"></span> <a href="Data-Vector-Generic.html#t:Vector">Vector</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a></span> <a href="src/Data-Vector-Generic-Base.html#line-235" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Vector:Vector:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:basicUnsafeFreeze">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a> -&gt; m (<a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeThaw">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a> -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><p class="src"><a href="#v:basicLength">basicLength</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeSlice">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeIndexM">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeCopy">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a> -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><p class="src"><a href="#v:elemseq">elemseq</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a> -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Vector:Vector:11" class="instance expander" onclick="toggleSection('i:ic:Vector:Vector:11')"></span> <a href="Data-Vector-Generic.html#t:Vector">Vector</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word">Word</a></span> <a href="src/Data-Vector-Generic-Base.html#line-242" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Vector:Vector:11" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:basicUnsafeFreeze">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word">Word</a> -&gt; m (<a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word">Word</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeThaw">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word">Word</a> -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word">Word</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><p class="src"><a href="#v:basicLength">basicLength</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word">Word</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeSlice">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word">Word</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word">Word</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeIndexM">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word">Word</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word">Word</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeCopy">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word">Word</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word">Word</a> -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><p class="src"><a href="#v:elemseq">elemseq</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word">Word</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word">Word</a> -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Vector:Vector:12" class="instance expander" onclick="toggleSection('i:ic:Vector:Vector:12')"></span> <a href="Data-Vector-Generic.html#t:Vector">Vector</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word8">Word8</a></span> <a href="src/Data-Vector-Generic-Base.html#line-248" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Vector:Vector:12" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:basicUnsafeFreeze">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word8">Word8</a> -&gt; m (<a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word8">Word8</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeThaw">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word8">Word8</a> -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word8">Word8</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><p class="src"><a href="#v:basicLength">basicLength</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word8">Word8</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeSlice">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word8">Word8</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word8">Word8</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeIndexM">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word8">Word8</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word8">Word8</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeCopy">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word8">Word8</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word8">Word8</a> -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><p class="src"><a href="#v:elemseq">elemseq</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word8">Word8</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word8">Word8</a> -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Vector:Vector:13" class="instance expander" onclick="toggleSection('i:ic:Vector:Vector:13')"></span> <a href="Data-Vector-Generic.html#t:Vector">Vector</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word16">Word16</a></span> <a href="src/Data-Vector-Generic-Base.html#line-254" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Vector:Vector:13" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:basicUnsafeFreeze">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word16">Word16</a> -&gt; m (<a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word16">Word16</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeThaw">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word16">Word16</a> -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word16">Word16</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><p class="src"><a href="#v:basicLength">basicLength</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word16">Word16</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeSlice">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word16">Word16</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word16">Word16</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeIndexM">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word16">Word16</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word16">Word16</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeCopy">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word16">Word16</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word16">Word16</a> -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><p class="src"><a href="#v:elemseq">elemseq</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word16">Word16</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word16">Word16</a> -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Vector:Vector:14" class="instance expander" onclick="toggleSection('i:ic:Vector:Vector:14')"></span> <a href="Data-Vector-Generic.html#t:Vector">Vector</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word32">Word32</a></span> <a href="src/Data-Vector-Generic-Base.html#line-260" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Vector:Vector:14" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:basicUnsafeFreeze">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word32">Word32</a> -&gt; m (<a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word32">Word32</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeThaw">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word32">Word32</a> -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word32">Word32</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><p class="src"><a href="#v:basicLength">basicLength</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word32">Word32</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeSlice">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word32">Word32</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word32">Word32</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeIndexM">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word32">Word32</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word32">Word32</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeCopy">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word32">Word32</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word32">Word32</a> -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><p class="src"><a href="#v:elemseq">elemseq</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word32">Word32</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word32">Word32</a> -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Vector:Vector:15" class="instance expander" onclick="toggleSection('i:ic:Vector:Vector:15')"></span> <a href="Data-Vector-Generic.html#t:Vector">Vector</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word64">Word64</a></span> <a href="src/Data-Vector-Generic-Base.html#line-266" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Vector:Vector:15" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:basicUnsafeFreeze">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word64">Word64</a> -&gt; m (<a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word64">Word64</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeThaw">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word64">Word64</a> -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word64">Word64</a>) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><p class="src"><a href="#v:basicLength">basicLength</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word64">Word64</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeSlice">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word64">Word64</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word64">Word64</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeIndexM">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word64">Word64</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word64">Word64</a> <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeCopy">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word64">Word64</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word64">Word64</a> -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><p class="src"><a href="#v:elemseq">elemseq</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word64">Word64</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Word.html#t:Word64">Word64</a> -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Vector:Vector:16" class="instance expander" onclick="toggleSection('i:ic:Vector:Vector:16')"></span> <a href="Data-Vector-Generic.html#t:Vector">Vector</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> ()</span> <a href="src/Data-Vector-Generic-Base.html#line-136" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Vector:Vector:16" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:basicUnsafeFreeze">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) () -&gt; m (<a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> ()) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeThaw">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> () -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) ()) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><p class="src"><a href="#v:basicLength">basicLength</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> () -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeSlice">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> () -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeIndexM">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> () -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeCopy">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) () -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> () -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><p class="src"><a href="#v:elemseq">elemseq</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> () -&gt; () -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Vector:Vector:17" class="instance expander" onclick="toggleSection('i:ic:Vector:Vector:17')"></span> <a href="Data-Vector-Storable-Mutable.html#t:Storable">Storable</a> a =&gt; <a href="Data-Vector-Generic.html#t:Vector">Vector</a> <a href="Data-Vector-Storable.html#t:Vector">Vector</a> a</span> <a href="src/Data-Vector-Generic-Base.html#line-213" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Vector:Vector:17" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:basicUnsafeFreeze">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Storable.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; m (<a href="Data-Vector-Storable.html#t:Vector">Vector</a> a) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeThaw">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Storable.html#t:Vector">Vector</a> a -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Storable.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><p class="src"><a href="#v:basicLength">basicLength</a> :: <a href="Data-Vector-Storable.html#t:Vector">Vector</a> a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeSlice">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Storable.html#t:Vector">Vector</a> a -&gt; <a href="Data-Vector-Storable.html#t:Vector">Vector</a> a <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeIndexM">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Vector-Storable.html#t:Vector">Vector</a> a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m a <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeCopy">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Storable.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; <a href="Data-Vector-Storable.html#t:Vector">Vector</a> a -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><p class="src"><a href="#v:elemseq">elemseq</a> :: <a href="Data-Vector-Storable.html#t:Vector">Vector</a> a -&gt; a -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Vector:Vector:18" class="instance expander" onclick="toggleSection('i:ic:Vector:Vector:18')"></span> <a href="Data-Vector-Generic.html#t:Vector">Vector</a> <a href="Data-Vector.html#t:Vector">Vector</a> a</span> <a href="src/Data-Vector-Generic-Base.html#line-261" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Vector:Vector:18" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:basicUnsafeFreeze">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; m (<a href="Data-Vector.html#t:Vector">Vector</a> a) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeThaw">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector.html#t:Vector">Vector</a> a -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><p class="src"><a href="#v:basicLength">basicLength</a> :: <a href="Data-Vector.html#t:Vector">Vector</a> a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeSlice">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector.html#t:Vector">Vector</a> a -&gt; <a href="Data-Vector.html#t:Vector">Vector</a> a <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeIndexM">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Vector.html#t:Vector">Vector</a> a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m a <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeCopy">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; <a href="Data-Vector.html#t:Vector">Vector</a> a -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><p class="src"><a href="#v:elemseq">elemseq</a> :: <a href="Data-Vector.html#t:Vector">Vector</a> a -&gt; a -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Vector:Vector:19" class="instance expander" onclick="toggleSection('i:ic:Vector:Vector:19')"></span> <a href="Data-Vector-Unboxed-Mutable.html#t:Unbox">Unbox</a> a =&gt; <a href="Data-Vector-Generic.html#t:Vector">Vector</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Complex.html#t:Complex">Complex</a> a)</span> <a href="src/Data-Vector-Generic-Base.html#line-385" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Vector:Vector:19" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:basicUnsafeFreeze">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Complex.html#t:Complex">Complex</a> a) -&gt; m (<a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Complex.html#t:Complex">Complex</a> a)) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeThaw">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Complex.html#t:Complex">Complex</a> a) -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Complex.html#t:Complex">Complex</a> a)) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><p class="src"><a href="#v:basicLength">basicLength</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Complex.html#t:Complex">Complex</a> a) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeSlice">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Complex.html#t:Complex">Complex</a> a) -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Complex.html#t:Complex">Complex</a> a) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeIndexM">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Complex.html#t:Complex">Complex</a> a) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Complex.html#t:Complex">Complex</a> a) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeCopy">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Complex.html#t:Complex">Complex</a> a) -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Complex.html#t:Complex">Complex</a> a) -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><p class="src"><a href="#v:elemseq">elemseq</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Complex.html#t:Complex">Complex</a> a) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Complex.html#t:Complex">Complex</a> a -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Vector:Vector:20" class="instance expander" onclick="toggleSection('i:ic:Vector:Vector:20')"></span> (<a href="Data-Vector-Unboxed-Mutable.html#t:Unbox">Unbox</a> a, <a href="Data-Vector-Unboxed-Mutable.html#t:Unbox">Unbox</a> b) =&gt; <a href="Data-Vector-Generic.html#t:Vector">Vector</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b)</span> <a href="src/Data-Vector-Generic-Base.html#line-74" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Vector:Vector:20" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:basicUnsafeFreeze">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) (a, b) -&gt; m (<a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b)) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeThaw">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b) -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) (a, b)) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><p class="src"><a href="#v:basicLength">basicLength</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeSlice">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b) -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeIndexM">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m (a, b) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeCopy">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) (a, b) -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b) -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><p class="src"><a href="#v:elemseq">elemseq</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b) -&gt; (a, b) -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Vector:Vector:21" class="instance expander" onclick="toggleSection('i:ic:Vector:Vector:21')"></span> (<a href="Data-Vector-Unboxed-Mutable.html#t:Unbox">Unbox</a> a, <a href="Data-Vector-Unboxed-Mutable.html#t:Unbox">Unbox</a> b, <a href="Data-Vector-Unboxed-Mutable.html#t:Unbox">Unbox</a> c) =&gt; <a href="Data-Vector-Generic.html#t:Vector">Vector</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c)</span> <a href="src/Data-Vector-Generic-Base.html#line-227" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Vector:Vector:21" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:basicUnsafeFreeze">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) (a, b, c) -&gt; m (<a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c)) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeThaw">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c) -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) (a, b, c)) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><p class="src"><a href="#v:basicLength">basicLength</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeSlice">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c) -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeIndexM">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m (a, b, c) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeCopy">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) (a, b, c) -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c) -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><p class="src"><a href="#v:elemseq">elemseq</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c) -&gt; (a, b, c) -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Vector:Vector:22" class="instance expander" onclick="toggleSection('i:ic:Vector:Vector:22')"></span> (<a href="Data-Vector-Unboxed-Mutable.html#t:Unbox">Unbox</a> a, <a href="Data-Vector-Unboxed-Mutable.html#t:Unbox">Unbox</a> b, <a href="Data-Vector-Unboxed-Mutable.html#t:Unbox">Unbox</a> c, <a href="Data-Vector-Unboxed-Mutable.html#t:Unbox">Unbox</a> d) =&gt; <a href="Data-Vector-Generic.html#t:Vector">Vector</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d)</span> <a href="src/Data-Vector-Generic-Base.html#line-423" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Vector:Vector:22" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:basicUnsafeFreeze">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) (a, b, c, d) -&gt; m (<a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d)) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeThaw">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d) -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) (a, b, c, d)) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><p class="src"><a href="#v:basicLength">basicLength</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeSlice">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d) -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeIndexM">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m (a, b, c, d) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeCopy">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) (a, b, c, d) -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d) -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><p class="src"><a href="#v:elemseq">elemseq</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d) -&gt; (a, b, c, d) -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Vector:Vector:23" class="instance expander" onclick="toggleSection('i:ic:Vector:Vector:23')"></span> (<a href="Data-Vector-Unboxed-Mutable.html#t:Unbox">Unbox</a> a, <a href="Data-Vector-Unboxed-Mutable.html#t:Unbox">Unbox</a> b, <a href="Data-Vector-Unboxed-Mutable.html#t:Unbox">Unbox</a> c, <a href="Data-Vector-Unboxed-Mutable.html#t:Unbox">Unbox</a> d, <a href="Data-Vector-Unboxed-Mutable.html#t:Unbox">Unbox</a> e) =&gt; <a href="Data-Vector-Generic.html#t:Vector">Vector</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d, e)</span> <a href="src/Data-Vector-Generic-Base.html#line-671" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Vector:Vector:23" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:basicUnsafeFreeze">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) (a, b, c, d, e) -&gt; m (<a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d, e)) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeThaw">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d, e) -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) (a, b, c, d, e)) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><p class="src"><a href="#v:basicLength">basicLength</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d, e) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeSlice">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d, e) -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d, e) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeIndexM">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d, e) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m (a, b, c, d, e) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeCopy">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) (a, b, c, d, e) -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d, e) -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><p class="src"><a href="#v:elemseq">elemseq</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d, e) -&gt; (a, b, c, d, e) -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Vector:Vector:24" class="instance expander" onclick="toggleSection('i:ic:Vector:Vector:24')"></span> (<a href="Data-Vector-Unboxed-Mutable.html#t:Unbox">Unbox</a> a, <a href="Data-Vector-Unboxed-Mutable.html#t:Unbox">Unbox</a> b, <a href="Data-Vector-Unboxed-Mutable.html#t:Unbox">Unbox</a> c, <a href="Data-Vector-Unboxed-Mutable.html#t:Unbox">Unbox</a> d, <a href="Data-Vector-Unboxed-Mutable.html#t:Unbox">Unbox</a> e, <a href="Data-Vector-Unboxed-Mutable.html#t:Unbox">Unbox</a> f) =&gt; <a href="Data-Vector-Generic.html#t:Vector">Vector</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d, e, f)</span> <a href="src/Data-Vector-Generic-Base.html#line-969" class="link">Source</a> <a href="#t:Vector" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Vector:Vector:24" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:basicUnsafeFreeze">basicUnsafeFreeze</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) (a, b, c, d, e, f) -&gt; m (<a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d, e, f)) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeFreeze" class="link">Source</a> <a href="#v:basicUnsafeFreeze" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeThaw">basicUnsafeThaw</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d, e, f) -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) (a, b, c, d, e, f)) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeThaw" class="link">Source</a> <a href="#v:basicUnsafeThaw" class="selflink">#</a></p><p class="src"><a href="#v:basicLength">basicLength</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d, e, f) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic-Base.html#basicLength" class="link">Source</a> <a href="#v:basicLength" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeSlice">basicUnsafeSlice</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d, e, f) -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d, e, f) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeSlice" class="link">Source</a> <a href="#v:basicUnsafeSlice" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeIndexM">basicUnsafeIndexM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d, e, f) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m (a, b, c, d, e, f) <a href="src/Data-Vector-Generic-Base.html#basicUnsafeIndexM" class="link">Source</a> <a href="#v:basicUnsafeIndexM" class="selflink">#</a></p><p class="src"><a href="#v:basicUnsafeCopy">basicUnsafeCopy</a> :: <a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) (a, b, c, d, e, f) -&gt; <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d, e, f) -&gt; m () <a href="src/Data-Vector-Generic-Base.html#basicUnsafeCopy" class="link">Source</a> <a href="#v:basicUnsafeCopy" class="selflink">#</a></p><p class="src"><a href="#v:elemseq">elemseq</a> :: <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> (a, b, c, d, e, f) -&gt; (a, b, c, d, e, f) -&gt; b -&gt; b <a href="src/Data-Vector-Generic-Base.html#elemseq" class="link">Source</a> <a href="#v:elemseq" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type family</span> <a id="t:Mutable" class="def">Mutable</a> (v :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="src/Data-Vector-Generic-Base.html#Mutable" class="link">Source</a> <a href="#t:Mutable" class="selflink">#</a></p><div class="doc"><p><code>Mutable v s a</code> is the mutable version of the pure vector type <code>v a</code> with
 the state token <code>s</code></p></div><div class="subs instances"><p id="control.i:Mutable" class="caption collapser" onclick="toggleSection('i:Mutable')">Instances</p><div id="section.i:Mutable" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:if:Mutable:Mutable:1" class="instance expander" onclick="toggleSection('i:if:Mutable:Mutable:1')"></span> <span class="keyword">type</span> <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Primitive.html#t:Vector">Vector</a></span> <a href="src/Data-Vector-Generic-Base.html#line-204" class="link">Source</a> <a href="#t:Mutable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:if:Mutable:Mutable:1" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Primitive.html#t:Vector">Vector</a> = <a href="Data-Vector-Primitive-Mutable.html#t:MVector">MVector</a></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:if:Mutable:Mutable:2" class="instance expander" onclick="toggleSection('i:if:Mutable:Mutable:2')"></span> <span class="keyword">type</span> <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a></span> <a href="src/Data-Vector-Generic-Base.html#line-61" class="link">Source</a> <a href="#t:Mutable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:if:Mutable:Mutable:2" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Unboxed.html#t:Vector">Vector</a> = <a href="Data-Vector-Unboxed-Mutable.html#t:MVector">MVector</a></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:if:Mutable:Mutable:3" class="instance expander" onclick="toggleSection('i:if:Mutable:Mutable:3')"></span> <span class="keyword">type</span> <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Storable.html#t:Vector">Vector</a></span> <a href="src/Data-Vector-Generic-Base.html#line-211" class="link">Source</a> <a href="#t:Mutable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:if:Mutable:Mutable:3" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector-Storable.html#t:Vector">Vector</a> = <a href="Data-Vector-Storable-Mutable.html#t:MVector">MVector</a></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:if:Mutable:Mutable:4" class="instance expander" onclick="toggleSection('i:if:Mutable:Mutable:4')"></span> <span class="keyword">type</span> <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector.html#t:Vector">Vector</a></span> <a href="src/Data-Vector-Generic-Base.html#line-259" class="link">Source</a> <a href="#t:Mutable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:if:Mutable:Mutable:4" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> <a href="Data-Vector.html#t:Vector">Vector</a> = <a href="Data-Vector-Mutable.html#t:MVector">MVector</a></div></div></td></tr></table></div></div></div><h1 id="g:2">Accessors</h1><h2 id="g:3">Length information</h2><div class="top"><p class="src"><a id="v:length" class="def">length</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic.html#length" class="link">Source</a> <a href="#v:length" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> Yield the length of the vector</p></div></div><div class="top"><p class="src"><a id="v:null" class="def">null</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Data-Vector-Generic.html#null" class="link">Source</a> <a href="#v:null" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> Test whether a vector is empty</p></div></div><h2 id="g:4">Indexing</h2><div class="top"><p class="src"><a id="v:-33-" class="def">(!)</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a <span class="fixity">infixl 9</span><span class="rightedge"></span> <a href="src/Data-Vector-Generic.html#%21" class="link">Source</a> <a href="#v:-33-" class="selflink">#</a></p><div class="doc"><p>O(1) Indexing</p></div></div><div class="top"><p class="src"><a id="v:-33--63-" class="def">(!?)</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <span class="fixity">infixl 9</span><span class="rightedge"></span> <a href="src/Data-Vector-Generic.html#%21%3F" class="link">Source</a> <a href="#v:-33--63-" class="selflink">#</a></p><div class="doc"><p>O(1) Safe indexing</p></div></div><div class="top"><p class="src"><a id="v:head" class="def">head</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; a <a href="src/Data-Vector-Generic.html#head" class="link">Source</a> <a href="#v:head" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> First element</p></div></div><div class="top"><p class="src"><a id="v:last" class="def">last</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; a <a href="src/Data-Vector-Generic.html#last" class="link">Source</a> <a href="#v:last" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> Last element</p></div></div><div class="top"><p class="src"><a id="v:unsafeIndex" class="def">unsafeIndex</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a <a href="src/Data-Vector-Generic.html#unsafeIndex" class="link">Source</a> <a href="#v:unsafeIndex" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> Unsafe indexing without bounds checking</p></div></div><div class="top"><p class="src"><a id="v:unsafeHead" class="def">unsafeHead</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; a <a href="src/Data-Vector-Generic.html#unsafeHead" class="link">Source</a> <a href="#v:unsafeHead" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> First element without checking if the vector is empty</p></div></div><div class="top"><p class="src"><a id="v:unsafeLast" class="def">unsafeLast</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; a <a href="src/Data-Vector-Generic.html#unsafeLast" class="link">Source</a> <a href="#v:unsafeLast" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> Last element without checking if the vector is empty</p></div></div><h2 id="g:5">Monadic indexing</h2><div class="top"><p class="src"><a id="v:indexM" class="def">indexM</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m a <a href="src/Data-Vector-Generic.html#indexM" class="link">Source</a> <a href="#v:indexM" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> Indexing in a monad.</p><p>The monad allows operations to be strict in the vector when necessary.
 Suppose vector copying is implemented like this:</p><pre>copy mv v = ... write mv i (v ! i) ...</pre><p>For lazy vectors, <code>v ! i</code> would not be evaluated which means that <code>mv</code>
 would unnecessarily retain a reference to <code>v</code> in each element written.</p><p>With <code><a href="Data-Vector-Generic.html#v:indexM">indexM</a></code>, copying can be implemented like this instead:</p><pre>copy mv v = ... do
                  x &lt;- indexM v i
                  write mv i x</pre><p>Here, no references to <code>v</code> are retained because indexing (but <em>not</em> the
 elements) is evaluated eagerly.</p></div></div><div class="top"><p class="src"><a id="v:headM" class="def">headM</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; v a -&gt; m a <a href="src/Data-Vector-Generic.html#headM" class="link">Source</a> <a href="#v:headM" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> First element of a vector in a monad. See <code><a href="Data-Vector-Generic.html#v:indexM">indexM</a></code> for an
 explanation of why this is useful.</p></div></div><div class="top"><p class="src"><a id="v:lastM" class="def">lastM</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; v a -&gt; m a <a href="src/Data-Vector-Generic.html#lastM" class="link">Source</a> <a href="#v:lastM" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> Last element of a vector in a monad. See <code><a href="Data-Vector-Generic.html#v:indexM">indexM</a></code> for an
 explanation of why this is useful.</p></div></div><div class="top"><p class="src"><a id="v:unsafeIndexM" class="def">unsafeIndexM</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m a <a href="src/Data-Vector-Generic.html#unsafeIndexM" class="link">Source</a> <a href="#v:unsafeIndexM" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> Indexing in a monad without bounds checks. See <code><a href="Data-Vector-Generic.html#v:indexM">indexM</a></code> for an
 explanation of why this is useful.</p></div></div><div class="top"><p class="src"><a id="v:unsafeHeadM" class="def">unsafeHeadM</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; v a -&gt; m a <a href="src/Data-Vector-Generic.html#unsafeHeadM" class="link">Source</a> <a href="#v:unsafeHeadM" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> First element in a monad without checking for empty vectors.
 See <code><a href="Data-Vector-Generic.html#v:indexM">indexM</a></code> for an explanation of why this is useful.</p></div></div><div class="top"><p class="src"><a id="v:unsafeLastM" class="def">unsafeLastM</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; v a -&gt; m a <a href="src/Data-Vector-Generic.html#unsafeLastM" class="link">Source</a> <a href="#v:unsafeLastM" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> Last element in a monad without checking for empty vectors.
 See <code><a href="Data-Vector-Generic.html#v:indexM">indexM</a></code> for an explanation of why this is useful.</p></div></div><h2 id="g:6">Extracting subvectors (slicing)</h2><div class="top"><p class="src"><a id="v:slice" class="def">slice</a> <a href="src/Data-Vector-Generic.html#slice" class="link">Source</a> <a href="#v:slice" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">=&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><p><code>i</code> starting index</p></td></tr><tr><td class="src">-&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><p><code>n</code> length</p></td></tr><tr><td class="src">-&gt; v a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">-&gt; v a</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p><em>O(1)</em> Yield a slice of the vector without copying it. The vector must
 contain at least <code>i+n</code> elements.</p></div></div><div class="top"><p class="src"><a id="v:init" class="def">init</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; v a <a href="src/Data-Vector-Generic.html#init" class="link">Source</a> <a href="#v:init" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> Yield all but the last element without copying. The vector may not
 be empty.</p></div></div><div class="top"><p class="src"><a id="v:tail" class="def">tail</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; v a <a href="src/Data-Vector-Generic.html#tail" class="link">Source</a> <a href="#v:tail" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> Yield all but the first element without copying. The vector may not
 be empty.</p></div></div><div class="top"><p class="src"><a id="v:take" class="def">take</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a -&gt; v a <a href="src/Data-Vector-Generic.html#take" class="link">Source</a> <a href="#v:take" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> Yield the first <code>n</code> elements without copying. The vector may
 contain less than <code>n</code> elements in which case it is returned unchanged.</p></div></div><div class="top"><p class="src"><a id="v:drop" class="def">drop</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a -&gt; v a <a href="src/Data-Vector-Generic.html#drop" class="link">Source</a> <a href="#v:drop" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> Yield all but the first <code>n</code> elements without copying. The vector may
 contain less than <code>n</code> elements in which case an empty vector is returned.</p></div></div><div class="top"><p class="src"><a id="v:splitAt" class="def">splitAt</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a -&gt; (v a, v a) <a href="src/Data-Vector-Generic.html#splitAt" class="link">Source</a> <a href="#v:splitAt" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> Yield the first <code>n</code> elements paired with the remainder without copying.</p><p>Note that <code><code><a href="Data-Vector-Generic.html#v:splitAt">splitAt</a></code> n v</code> is equivalent to <code>(<code><a href="Data-Vector-Generic.html#v:take">take</a></code> n v, <code><a href="Data-Vector-Generic.html#v:drop">drop</a></code> n v)</code>
 but slightly more efficient.</p></div></div><div class="top"><p class="src"><a id="v:unsafeSlice" class="def">unsafeSlice</a> <a href="src/Data-Vector-Generic.html#unsafeSlice" class="link">Source</a> <a href="#v:unsafeSlice" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">=&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><p><code>i</code> starting index</p></td></tr><tr><td class="src">-&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><p><code>n</code> length</p></td></tr><tr><td class="src">-&gt; v a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">-&gt; v a</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p><em>O(1)</em> Yield a slice of the vector without copying. The vector must
 contain at least <code>i+n</code> elements but this is not checked.</p></div></div><div class="top"><p class="src"><a id="v:unsafeInit" class="def">unsafeInit</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; v a <a href="src/Data-Vector-Generic.html#unsafeInit" class="link">Source</a> <a href="#v:unsafeInit" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> Yield all but the last element without copying. The vector may not
 be empty but this is not checked.</p></div></div><div class="top"><p class="src"><a id="v:unsafeTail" class="def">unsafeTail</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; v a <a href="src/Data-Vector-Generic.html#unsafeTail" class="link">Source</a> <a href="#v:unsafeTail" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> Yield all but the first element without copying. The vector may not
 be empty but this is not checked.</p></div></div><div class="top"><p class="src"><a id="v:unsafeTake" class="def">unsafeTake</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a -&gt; v a <a href="src/Data-Vector-Generic.html#unsafeTake" class="link">Source</a> <a href="#v:unsafeTake" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> Yield the first <code>n</code> elements without copying. The vector must
 contain at least <code>n</code> elements but this is not checked.</p></div></div><div class="top"><p class="src"><a id="v:unsafeDrop" class="def">unsafeDrop</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a -&gt; v a <a href="src/Data-Vector-Generic.html#unsafeDrop" class="link">Source</a> <a href="#v:unsafeDrop" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> Yield all but the first <code>n</code> elements without copying. The vector
 must contain at least <code>n</code> elements but this is not checked.</p></div></div><h1 id="g:7">Construction</h1><h2 id="g:8">Initialisation</h2><div class="top"><p class="src"><a id="v:empty" class="def">empty</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a <a href="src/Data-Vector-Generic.html#empty" class="link">Source</a> <a href="#v:empty" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> Empty vector</p></div></div><div class="top"><p class="src"><a id="v:singleton" class="def">singleton</a> :: <span class="keyword">forall</span> v a. <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; a -&gt; v a <a href="src/Data-Vector-Generic.html#singleton" class="link">Source</a> <a href="#v:singleton" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> Vector with exactly one element</p></div></div><div class="top"><p class="src"><a id="v:replicate" class="def">replicate</a> :: <span class="keyword">forall</span> v a. <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; v a <a href="src/Data-Vector-Generic.html#replicate" class="link">Source</a> <a href="#v:replicate" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Vector of the given length with the same value in each position</p></div></div><div class="top"><p class="src"><a id="v:generate" class="def">generate</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a) -&gt; v a <a href="src/Data-Vector-Generic.html#generate" class="link">Source</a> <a href="#v:generate" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Construct a vector of the given length by applying the function to
 each index</p></div></div><div class="top"><p class="src"><a id="v:iterateN" class="def">iterateN</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; (a -&gt; a) -&gt; a -&gt; v a <a href="src/Data-Vector-Generic.html#iterateN" class="link">Source</a> <a href="#v:iterateN" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Apply function n times to value. Zeroth element is original value.</p></div></div><h2 id="g:9">Monadic initialisation</h2><div class="top"><p class="src"><a id="v:replicateM" class="def">replicateM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m a -&gt; m (v a) <a href="src/Data-Vector-Generic.html#replicateM" class="link">Source</a> <a href="#v:replicateM" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Execute the monadic action the given number of times and store the
 results in a vector.</p></div></div><div class="top"><p class="src"><a id="v:generateM" class="def">generateM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; m a) -&gt; m (v a) <a href="src/Data-Vector-Generic.html#generateM" class="link">Source</a> <a href="#v:generateM" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Construct a vector of the given length by applying the monadic
 action to each index</p></div></div><div class="top"><p class="src"><a id="v:iterateNM" class="def">iterateNM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; (a -&gt; m a) -&gt; a -&gt; m (v a) <a href="src/Data-Vector-Generic.html#iterateNM" class="link">Source</a> <a href="#v:iterateNM" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Apply monadic function n times to value. Zeroth element is original value.</p></div></div><div class="top"><p class="src"><a id="v:create" class="def">create</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (<span class="keyword">forall</span> s. <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad-ST.html#t:ST">ST</a> s (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> v s a)) -&gt; v a <a href="src/Data-Vector-Generic.html#create" class="link">Source</a> <a href="#v:create" class="selflink">#</a></p><div class="doc"><p>Execute the monadic action and freeze the resulting vector.</p><pre>create (do { v &lt;- <code><a href="Data-Vector-Generic-Mutable.html#v:new">new</a></code> 2; <code><a href="Data-Vector-Generic-Mutable.html#v:write">write</a></code> v 0 'a'; <code><a href="Data-Vector-Generic-Mutable.html#v:write">write</a></code> v 1 'b'; return v }) = &lt;<code>a</code>,<code>b</code>&gt;
</pre></div></div><div class="top"><p class="src"><a id="v:createT" class="def">createT</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Traversable.html#t:Traversable">Traversable</a> f, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; (<span class="keyword">forall</span> s. <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad-ST.html#t:ST">ST</a> s (f (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> v s a))) -&gt; f (v a) <a href="src/Data-Vector-Generic.html#createT" class="link">Source</a> <a href="#v:createT" class="selflink">#</a></p><div class="doc"><p>Execute the monadic action and freeze the resulting vectors.</p></div></div><h2 id="g:10">Unfolding</h2><div class="top"><p class="src"><a id="v:unfoldr" class="def">unfoldr</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (a, b)) -&gt; b -&gt; v a <a href="src/Data-Vector-Generic.html#unfoldr" class="link">Source</a> <a href="#v:unfoldr" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Construct a vector by repeatedly applying the generator function
 to a seed. The generator function yields <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code> the next element and the
 new seed or <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Nothing">Nothing</a></code> if there are no more elements.</p><pre>unfoldr (\n -&gt; if n == 0 then Nothing else Just (n,n-1)) 10
 = &lt;10,9,8,7,6,5,4,3,2,1&gt;</pre></div></div><div class="top"><p class="src"><a id="v:unfoldrN" class="def">unfoldrN</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; (b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (a, b)) -&gt; b -&gt; v a <a href="src/Data-Vector-Generic.html#unfoldrN" class="link">Source</a> <a href="#v:unfoldrN" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Construct a vector with at most <code>n</code> elements by repeatedly applying
 the generator function to a seed. The generator function yields <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code> the
 next element and the new seed or <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Nothing">Nothing</a></code> if there are no more elements.</p><pre>unfoldrN 3 (\n -&gt; Just (n,n-1)) 10 = &lt;10,9,8&gt;</pre></div></div><div class="top"><p class="src"><a id="v:unfoldrM" class="def">unfoldrM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; (b -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (a, b))) -&gt; b -&gt; m (v a) <a href="src/Data-Vector-Generic.html#unfoldrM" class="link">Source</a> <a href="#v:unfoldrM" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Construct a vector by repeatedly applying the monadic
 generator function to a seed. The generator function yields <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code>
 the next element and the new seed or <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Nothing">Nothing</a></code> if there are no more
 elements.</p></div></div><div class="top"><p class="src"><a id="v:unfoldrNM" class="def">unfoldrNM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; (b -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (a, b))) -&gt; b -&gt; m (v a) <a href="src/Data-Vector-Generic.html#unfoldrNM" class="link">Source</a> <a href="#v:unfoldrNM" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Construct a vector by repeatedly applying the monadic
 generator function to a seed. The generator function yields <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code>
 the next element and the new seed or <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Nothing">Nothing</a></code> if there are no more
 elements.</p></div></div><div class="top"><p class="src"><a id="v:constructN" class="def">constructN</a> :: <span class="keyword">forall</span> v a. <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; (v a -&gt; a) -&gt; v a <a href="src/Data-Vector-Generic.html#constructN" class="link">Source</a> <a href="#v:constructN" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Construct a vector with <code>n</code> elements by repeatedly applying the
 generator function to the already constructed part of the vector.</p><pre>constructN 3 f = let a = f &lt;&gt; ; b = f &lt;a&gt; ; c = f &lt;a,b&gt; in f &lt;a,b,c&gt;</pre></div></div><div class="top"><p class="src"><a id="v:constructrN" class="def">constructrN</a> :: <span class="keyword">forall</span> v a. <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; (v a -&gt; a) -&gt; v a <a href="src/Data-Vector-Generic.html#constructrN" class="link">Source</a> <a href="#v:constructrN" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Construct a vector with <code>n</code> elements from right to left by
 repeatedly applying the generator function to the already constructed part
 of the vector.</p><pre>constructrN 3 f = let a = f &lt;&gt; ; b = f&lt;a&gt; ; c = f &lt;b,a&gt; in f &lt;c,b,a&gt;</pre></div></div><h2 id="g:11">Enumeration</h2><div class="top"><p class="src"><a id="v:enumFromN" class="def">enumFromN</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> a) =&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a <a href="src/Data-Vector-Generic.html#enumFromN" class="link">Source</a> <a href="#v:enumFromN" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Yield a vector of the given length containing the values <code>x</code>, <code>x+1</code>
 etc. This operation is usually more efficient than <code><a href="Data-Vector-Generic.html#v:enumFromTo">enumFromTo</a></code>.</p><pre>enumFromN 5 3 = &lt;5,6,7&gt;</pre></div></div><div class="top"><p class="src"><a id="v:enumFromStepN" class="def">enumFromStepN</a> :: <span class="keyword">forall</span> v a. (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> a) =&gt; a -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a <a href="src/Data-Vector-Generic.html#enumFromStepN" class="link">Source</a> <a href="#v:enumFromStepN" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Yield a vector of the given length containing the values <code>x</code>, <code>x+y</code>,
 <code>x+y+y</code> etc. This operations is usually more efficient than <code><a href="Data-Vector-Generic.html#v:enumFromThenTo">enumFromThenTo</a></code>.</p><pre>enumFromStepN 1 0.1 5 = &lt;1,1.1,1.2,1.3,1.4&gt;</pre></div></div><div class="top"><p class="src"><a id="v:enumFromTo" class="def">enumFromTo</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Enum">Enum</a> a) =&gt; a -&gt; a -&gt; v a <a href="src/Data-Vector-Generic.html#enumFromTo" class="link">Source</a> <a href="#v:enumFromTo" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Enumerate values from <code>x</code> to <code>y</code>.</p><p><em>WARNING:</em> This operation can be very inefficient. If at all possible, use
 <code><a href="Data-Vector-Generic.html#v:enumFromN">enumFromN</a></code> instead.</p></div></div><div class="top"><p class="src"><a id="v:enumFromThenTo" class="def">enumFromThenTo</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Enum">Enum</a> a) =&gt; a -&gt; a -&gt; a -&gt; v a <a href="src/Data-Vector-Generic.html#enumFromThenTo" class="link">Source</a> <a href="#v:enumFromThenTo" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Enumerate values from <code>x</code> to <code>y</code> with a specific step <code>z</code>.</p><p><em>WARNING:</em> This operation can be very inefficient. If at all possible, use
 <code><a href="Data-Vector-Generic.html#v:enumFromStepN">enumFromStepN</a></code> instead.</p></div></div><h2 id="g:12">Concatenation</h2><div class="top"><p class="src"><a id="v:cons" class="def">cons</a> :: <span class="keyword">forall</span> v a. <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; a -&gt; v a -&gt; v a <a href="src/Data-Vector-Generic.html#cons" class="link">Source</a> <a href="#v:cons" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Prepend an element</p></div></div><div class="top"><p class="src"><a id="v:snoc" class="def">snoc</a> :: <span class="keyword">forall</span> v a. <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; a -&gt; v a <a href="src/Data-Vector-Generic.html#snoc" class="link">Source</a> <a href="#v:snoc" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Append an element</p></div></div><div class="top"><p class="src"><a id="v:-43--43-" class="def">(++)</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; v a -&gt; v a <span class="fixity">infixr 5</span><span class="rightedge"></span> <a href="src/Data-Vector-Generic.html#%2B%2B" class="link">Source</a> <a href="#v:-43--43-" class="selflink">#</a></p><div class="doc"><p><em>O(m+n)</em> Concatenate two vectors</p></div></div><div class="top"><p class="src"><a id="v:concat" class="def">concat</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; [v a] -&gt; v a <a href="src/Data-Vector-Generic.html#concat" class="link">Source</a> <a href="#v:concat" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Concatenate all vectors in the list</p></div></div><div class="top"><p class="src"><a id="v:concatNE" class="def">concatNE</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (v a) -&gt; v a <a href="src/Data-Vector-Generic.html#concatNE" class="link">Source</a> <a href="#v:concatNE" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Concatenate all vectors in the non-empty list</p></div></div><h2 id="g:13">Restricting memory usage</h2><div class="top"><p class="src"><a id="v:force" class="def">force</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; v a <a href="src/Data-Vector-Generic.html#force" class="link">Source</a> <a href="#v:force" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Yield the argument but force it not to retain any extra memory,
 possibly by copying it.</p><p>This is especially useful when dealing with slices. For example:</p><pre>force (slice 0 2 &lt;huge vector&gt;)</pre><p>Here, the slice retains a reference to the huge vector. Forcing it creates
 a copy of just the elements that belong to the slice and allows the huge
 vector to be garbage collected.</p></div></div><h1 id="g:14">Modifying vectors</h1><h2 id="g:15">Bulk updates</h2><div class="top"><p class="src"><a id="v:-47--47-" class="def">(//)</a> <a href="src/Data-Vector-Generic.html#%2F%2F" class="link">Source</a> <a href="#v:-47--47-" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">=&gt; v a</td><td class="doc"><p>initial vector (of length <code>m</code>)</p></td></tr><tr><td class="src">-&gt; [(<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, a)]</td><td class="doc"><p>list of index/value pairs (of length <code>n</code>)</p></td></tr><tr><td class="src">-&gt; v a</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p><em>O(m+n)</em> For each pair <code>(i,a)</code> from the list, replace the vector
 element at position <code>i</code> by <code>a</code>.</p><pre>&lt;5,9,2,7&gt; // [(2,1),(0,3),(2,8)] = &lt;3,9,8,7&gt;</pre></div></div><div class="top"><p class="src"><a id="v:update" class="def">update</a> <a href="src/Data-Vector-Generic.html#update" class="link">Source</a> <a href="#v:update" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, a))</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">=&gt; v a</td><td class="doc"><p>initial vector (of length <code>m</code>)</p></td></tr><tr><td class="src">-&gt; v (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, a)</td><td class="doc"><p>vector of index/value pairs (of length <code>n</code>)</p></td></tr><tr><td class="src">-&gt; v a</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p><em>O(m+n)</em> For each pair <code>(i,a)</code> from the vector of index/value pairs,
 replace the vector element at position <code>i</code> by <code>a</code>.</p><pre>update &lt;5,9,2,7&gt; &lt;(2,1),(0,3),(2,8)&gt; = &lt;3,9,8,7&gt;</pre></div></div><div class="top"><p class="src"><a id="v:update_" class="def">update_</a> <a href="src/Data-Vector-Generic.html#update_" class="link">Source</a> <a href="#v:update_" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">=&gt; v a</td><td class="doc"><p>initial vector (of length <code>m</code>)</p></td></tr><tr><td class="src">-&gt; v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><p>index vector (of length <code>n1</code>)</p></td></tr><tr><td class="src">-&gt; v a</td><td class="doc"><p>value vector (of length <code>n2</code>)</p></td></tr><tr><td class="src">-&gt; v a</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p><em>O(m+min(n1,n2))</em> For each index <code>i</code> from the index vector and the
 corresponding value <code>a</code> from the value vector, replace the element of the
 initial vector at position <code>i</code> by <code>a</code>.</p><pre>update_ &lt;5,9,2,7&gt;  &lt;2,0,2&gt; &lt;1,3,8&gt; = &lt;3,9,8,7&gt;</pre><p>This function is useful for instances of <code><a href="Data-Vector-Generic.html#t:Vector">Vector</a></code> that cannot store pairs.
 Otherwise, <code><a href="Data-Vector-Generic.html#v:update">update</a></code> is probably more convenient.</p><pre>update_ xs is ys = <code><a href="Data-Vector-Generic.html#v:update">update</a></code> xs (<code><a href="Data-Vector-Generic.html#v:zip">zip</a></code> is ys)
</pre></div></div><div class="top"><p class="src"><a id="v:unsafeUpd" class="def">unsafeUpd</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; [(<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, a)] -&gt; v a <a href="src/Data-Vector-Generic.html#unsafeUpd" class="link">Source</a> <a href="#v:unsafeUpd" class="selflink">#</a></p><div class="doc"><p>Same as (<code><a href="Data-Vector-Generic.html#v:-47--47-">//</a></code>) but without bounds checking.</p></div></div><div class="top"><p class="src"><a id="v:unsafeUpdate" class="def">unsafeUpdate</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, a)) =&gt; v a -&gt; v (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, a) -&gt; v a <a href="src/Data-Vector-Generic.html#unsafeUpdate" class="link">Source</a> <a href="#v:unsafeUpdate" class="selflink">#</a></p><div class="doc"><p>Same as <code><a href="Data-Vector-Generic.html#v:update">update</a></code> but without bounds checking.</p></div></div><div class="top"><p class="src"><a id="v:unsafeUpdate_" class="def">unsafeUpdate_</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>) =&gt; v a -&gt; v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a -&gt; v a <a href="src/Data-Vector-Generic.html#unsafeUpdate_" class="link">Source</a> <a href="#v:unsafeUpdate_" class="selflink">#</a></p><div class="doc"><p>Same as <code><a href="Data-Vector-Generic.html#v:update_">update_</a></code> but without bounds checking.</p></div></div><h2 id="g:16">Accumulations</h2><div class="top"><p class="src"><a id="v:accum" class="def">accum</a> <a href="src/Data-Vector-Generic.html#accum" class="link">Source</a> <a href="#v:accum" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">=&gt; (a -&gt; b -&gt; a)</td><td class="doc"><p>accumulating function <code>f</code></p></td></tr><tr><td class="src">-&gt; v a</td><td class="doc"><p>initial vector (of length <code>m</code>)</p></td></tr><tr><td class="src">-&gt; [(<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, b)]</td><td class="doc"><p>list of index/value pairs (of length <code>n</code>)</p></td></tr><tr><td class="src">-&gt; v a</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p><em>O(m+n)</em> For each pair <code>(i,b)</code> from the list, replace the vector element
 <code>a</code> at position <code>i</code> by <code>f a b</code>.</p><pre>accum (+) &lt;5,9,2&gt; [(2,4),(1,6),(0,3),(1,7)] = &lt;5+3, 9+6+7, 2+4&gt;</pre></div></div><div class="top"><p class="src"><a id="v:accumulate" class="def">accumulate</a> <a href="src/Data-Vector-Generic.html#accumulate" class="link">Source</a> <a href="#v:accumulate" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, b))</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">=&gt; (a -&gt; b -&gt; a)</td><td class="doc"><p>accumulating function <code>f</code></p></td></tr><tr><td class="src">-&gt; v a</td><td class="doc"><p>initial vector (of length <code>m</code>)</p></td></tr><tr><td class="src">-&gt; v (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, b)</td><td class="doc"><p>vector of index/value pairs (of length <code>n</code>)</p></td></tr><tr><td class="src">-&gt; v a</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p><em>O(m+n)</em> For each pair <code>(i,b)</code> from the vector of pairs, replace the vector
 element <code>a</code> at position <code>i</code> by <code>f a b</code>.</p><pre>accumulate (+) &lt;5,9,2&gt; &lt;(2,4),(1,6),(0,3),(1,7)&gt; = &lt;5+3, 9+6+7, 2+4&gt;</pre></div></div><div class="top"><p class="src"><a id="v:accumulate_" class="def">accumulate_</a> <a href="src/Data-Vector-Generic.html#accumulate_" class="link">Source</a> <a href="#v:accumulate_" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">=&gt; (a -&gt; b -&gt; a)</td><td class="doc"><p>accumulating function <code>f</code></p></td></tr><tr><td class="src">-&gt; v a</td><td class="doc"><p>initial vector (of length <code>m</code>)</p></td></tr><tr><td class="src">-&gt; v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><p>index vector (of length <code>n1</code>)</p></td></tr><tr><td class="src">-&gt; v b</td><td class="doc"><p>value vector (of length <code>n2</code>)</p></td></tr><tr><td class="src">-&gt; v a</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p><em>O(m+min(n1,n2))</em> For each index <code>i</code> from the index vector and the
 corresponding value <code>b</code> from the the value vector,
 replace the element of the initial vector at
 position <code>i</code> by <code>f a b</code>.</p><pre>accumulate_ (+) &lt;5,9,2&gt; &lt;2,1,0,1&gt; &lt;4,6,3,7&gt; = &lt;5+3, 9+6+7, 2+4&gt;</pre><p>This function is useful for instances of <code><a href="Data-Vector-Generic.html#t:Vector">Vector</a></code> that cannot store pairs.
 Otherwise, <code><a href="Data-Vector-Generic.html#v:accumulate">accumulate</a></code> is probably more convenient:</p><pre>accumulate_ f as is bs = <code><a href="Data-Vector-Generic.html#v:accumulate">accumulate</a></code> f as (<code><a href="Data-Vector-Generic.html#v:zip">zip</a></code> is bs)
</pre></div></div><div class="top"><p class="src"><a id="v:unsafeAccum" class="def">unsafeAccum</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; b -&gt; a) -&gt; v a -&gt; [(<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, b)] -&gt; v a <a href="src/Data-Vector-Generic.html#unsafeAccum" class="link">Source</a> <a href="#v:unsafeAccum" class="selflink">#</a></p><div class="doc"><p>Same as <code><a href="Data-Vector-Generic.html#v:accum">accum</a></code> but without bounds checking.</p></div></div><div class="top"><p class="src"><a id="v:unsafeAccumulate" class="def">unsafeAccumulate</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, b)) =&gt; (a -&gt; b -&gt; a) -&gt; v a -&gt; v (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, b) -&gt; v a <a href="src/Data-Vector-Generic.html#unsafeAccumulate" class="link">Source</a> <a href="#v:unsafeAccumulate" class="selflink">#</a></p><div class="doc"><p>Same as <code><a href="Data-Vector-Generic.html#v:accumulate">accumulate</a></code> but without bounds checking.</p></div></div><div class="top"><p class="src"><a id="v:unsafeAccumulate_" class="def">unsafeAccumulate_</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; a) -&gt; v a -&gt; v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v b -&gt; v a <a href="src/Data-Vector-Generic.html#unsafeAccumulate_" class="link">Source</a> <a href="#v:unsafeAccumulate_" class="selflink">#</a></p><div class="doc"><p>Same as <code><a href="Data-Vector-Generic.html#v:accumulate_">accumulate_</a></code> but without bounds checking.</p></div></div><h2 id="g:17">Permutations</h2><div class="top"><p class="src"><a id="v:reverse" class="def">reverse</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; v a <a href="src/Data-Vector-Generic.html#reverse" class="link">Source</a> <a href="#v:reverse" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Reverse a vector</p></div></div><div class="top"><p class="src"><a id="v:backpermute" class="def">backpermute</a> <a href="src/Data-Vector-Generic.html#backpermute" class="link">Source</a> <a href="#v:backpermute" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">=&gt; v a</td><td class="doc"><p><code>xs</code> value vector</p></td></tr><tr><td class="src">-&gt; v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><p><code>is</code> index vector (of length <code>n</code>)</p></td></tr><tr><td class="src">-&gt; v a</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p><em>O(n)</em> Yield the vector obtained by replacing each element <code>i</code> of the
 index vector by <code>xs<code><a href="Data-Vector-Generic.html#v:-33-">!</a></code>i</code>. This is equivalent to <code><code><a href="Data-Vector-Generic.html#v:map">map</a></code> (xs<code><a href="Data-Vector-Generic.html#v:-33-">!</a></code>) is</code> but is
 often much more efficient.</p><pre>backpermute &lt;a,b,c,d&gt; &lt;0,3,2,3,1,0&gt; = &lt;a,d,c,d,b,a&gt;</pre></div></div><div class="top"><p class="src"><a id="v:unsafeBackpermute" class="def">unsafeBackpermute</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>) =&gt; v a -&gt; v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a <a href="src/Data-Vector-Generic.html#unsafeBackpermute" class="link">Source</a> <a href="#v:unsafeBackpermute" class="selflink">#</a></p><div class="doc"><p>Same as <code><a href="Data-Vector-Generic.html#v:backpermute">backpermute</a></code> but without bounds checking.</p></div></div><h2 id="g:18">Safe destructive updates</h2><div class="top"><p class="src"><a id="v:modify" class="def">modify</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (<span class="keyword">forall</span> s. <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> v s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad-ST.html#t:ST">ST</a> s ()) -&gt; v a -&gt; v a <a href="src/Data-Vector-Generic.html#modify" class="link">Source</a> <a href="#v:modify" class="selflink">#</a></p><div class="doc"><p>Apply a destructive operation to a vector. The operation will be
 performed in place if it is safe to do so and will modify a copy of the
 vector otherwise.</p><pre>modify (\v -&gt; <code><a href="Data-Vector-Generic-Mutable.html#v:write">write</a></code> v 0 'x') (<code><a href="Data-Vector-Generic.html#v:replicate">replicate</a></code> 3 'a') = &lt;'x','a','a'&gt;
</pre></div></div><h1 id="g:19">Elementwise operations</h1><h2 id="g:20">Indexing</h2><div class="top"><p class="src"><a id="v:indexed" class="def">indexed</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, a)) =&gt; v a -&gt; v (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, a) <a href="src/Data-Vector-Generic.html#indexed" class="link">Source</a> <a href="#v:indexed" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Pair each element in a vector with its index</p></div></div><h2 id="g:21">Mapping</h2><div class="top"><p class="src"><a id="v:map" class="def">map</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b) -&gt; v a -&gt; v b <a href="src/Data-Vector-Generic.html#map" class="link">Source</a> <a href="#v:map" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Map a function over a vector</p></div></div><div class="top"><p class="src"><a id="v:imap" class="def">imap</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b) -&gt; v a -&gt; v b <a href="src/Data-Vector-Generic.html#imap" class="link">Source</a> <a href="#v:imap" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Apply a function to every element of a vector and its index</p></div></div><div class="top"><p class="src"><a id="v:concatMap" class="def">concatMap</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; v b) -&gt; v a -&gt; v b <a href="src/Data-Vector-Generic.html#concatMap" class="link">Source</a> <a href="#v:concatMap" class="selflink">#</a></p><div class="doc"><p>Map a function over a vector and concatenate the results.</p></div></div><h2 id="g:22">Monadic mapping</h2><div class="top"><p class="src"><a id="v:mapM" class="def">mapM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; m b) -&gt; v a -&gt; m (v b) <a href="src/Data-Vector-Generic.html#mapM" class="link">Source</a> <a href="#v:mapM" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Apply the monadic action to all elements of the vector, yielding a
 vector of results</p></div></div><div class="top"><p class="src"><a id="v:imapM" class="def">imapM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; m b) -&gt; v a -&gt; m (v b) <a href="src/Data-Vector-Generic.html#imapM" class="link">Source</a> <a href="#v:imapM" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Apply the monadic action to every element of a vector and its
 index, yielding a vector of results</p></div></div><div class="top"><p class="src"><a id="v:mapM_" class="def">mapM_</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; (a -&gt; m b) -&gt; v a -&gt; m () <a href="src/Data-Vector-Generic.html#mapM_" class="link">Source</a> <a href="#v:mapM_" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Apply the monadic action to all elements of a vector and ignore the
 results</p></div></div><div class="top"><p class="src"><a id="v:imapM_" class="def">imapM_</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; m b) -&gt; v a -&gt; m () <a href="src/Data-Vector-Generic.html#imapM_" class="link">Source</a> <a href="#v:imapM_" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Apply the monadic action to every element of a vector and its
 index, ignoring the results</p></div></div><div class="top"><p class="src"><a id="v:forM" class="def">forM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; v a -&gt; (a -&gt; m b) -&gt; m (v b) <a href="src/Data-Vector-Generic.html#forM" class="link">Source</a> <a href="#v:forM" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Apply the monadic action to all elements of the vector, yielding a
 vector of results. Equivalent to <code>flip <code><a href="Data-Vector-Generic.html#v:mapM">mapM</a></code></code>.</p></div></div><div class="top"><p class="src"><a id="v:forM_" class="def">forM_</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; v a -&gt; (a -&gt; m b) -&gt; m () <a href="src/Data-Vector-Generic.html#forM_" class="link">Source</a> <a href="#v:forM_" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Apply the monadic action to all elements of a vector and ignore the
 results. Equivalent to <code>flip <code><a href="Data-Vector-Generic.html#v:mapM_">mapM_</a></code></code>.</p></div></div><h2 id="g:23">Zipping</h2><div class="top"><p class="src"><a id="v:zipWith" class="def">zipWith</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c) =&gt; (a -&gt; b -&gt; c) -&gt; v a -&gt; v b -&gt; v c <a href="src/Data-Vector-Generic.html#zipWith" class="link">Source</a> <a href="#v:zipWith" class="selflink">#</a></p><div class="doc"><p><em>O(min(m,n))</em> Zip two vectors with the given function.</p></div></div><div class="top"><p class="src"><a id="v:zipWith3" class="def">zipWith3</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d) =&gt; (a -&gt; b -&gt; c -&gt; d) -&gt; v a -&gt; v b -&gt; v c -&gt; v d <a href="src/Data-Vector-Generic.html#zipWith3" class="link">Source</a> <a href="#v:zipWith3" class="selflink">#</a></p><div class="doc"><p>Zip three vectors with the given function.</p></div></div><div class="top"><p class="src"><a id="v:zipWith4" class="def">zipWith4</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v e) =&gt; (a -&gt; b -&gt; c -&gt; d -&gt; e) -&gt; v a -&gt; v b -&gt; v c -&gt; v d -&gt; v e <a href="src/Data-Vector-Generic.html#zipWith4" class="link">Source</a> <a href="#v:zipWith4" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:zipWith5" class="def">zipWith5</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v e, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v f) =&gt; (a -&gt; b -&gt; c -&gt; d -&gt; e -&gt; f) -&gt; v a -&gt; v b -&gt; v c -&gt; v d -&gt; v e -&gt; v f <a href="src/Data-Vector-Generic.html#zipWith5" class="link">Source</a> <a href="#v:zipWith5" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:zipWith6" class="def">zipWith6</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v e, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v f, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v g) =&gt; (a -&gt; b -&gt; c -&gt; d -&gt; e -&gt; f -&gt; g) -&gt; v a -&gt; v b -&gt; v c -&gt; v d -&gt; v e -&gt; v f -&gt; v g <a href="src/Data-Vector-Generic.html#zipWith6" class="link">Source</a> <a href="#v:zipWith6" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:izipWith" class="def">izipWith</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; c) -&gt; v a -&gt; v b -&gt; v c <a href="src/Data-Vector-Generic.html#izipWith" class="link">Source</a> <a href="#v:izipWith" class="selflink">#</a></p><div class="doc"><p><em>O(min(m,n))</em> Zip two vectors with a function that also takes the
 elements' indices.</p></div></div><div class="top"><p class="src"><a id="v:izipWith3" class="def">izipWith3</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; c -&gt; d) -&gt; v a -&gt; v b -&gt; v c -&gt; v d <a href="src/Data-Vector-Generic.html#izipWith3" class="link">Source</a> <a href="#v:izipWith3" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:izipWith4" class="def">izipWith4</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v e) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; c -&gt; d -&gt; e) -&gt; v a -&gt; v b -&gt; v c -&gt; v d -&gt; v e <a href="src/Data-Vector-Generic.html#izipWith4" class="link">Source</a> <a href="#v:izipWith4" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:izipWith5" class="def">izipWith5</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v e, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v f) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; c -&gt; d -&gt; e -&gt; f) -&gt; v a -&gt; v b -&gt; v c -&gt; v d -&gt; v e -&gt; v f <a href="src/Data-Vector-Generic.html#izipWith5" class="link">Source</a> <a href="#v:izipWith5" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:izipWith6" class="def">izipWith6</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v e, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v f, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v g) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; c -&gt; d -&gt; e -&gt; f -&gt; g) -&gt; v a -&gt; v b -&gt; v c -&gt; v d -&gt; v e -&gt; v f -&gt; v g <a href="src/Data-Vector-Generic.html#izipWith6" class="link">Source</a> <a href="#v:izipWith6" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:zip" class="def">zip</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (a, b)) =&gt; v a -&gt; v b -&gt; v (a, b) <a href="src/Data-Vector-Generic.html#zip" class="link">Source</a> <a href="#v:zip" class="selflink">#</a></p><div class="doc"><p><em>O(min(m,n))</em> Zip two vectors</p></div></div><div class="top"><p class="src"><a id="v:zip3" class="def">zip3</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (a, b, c)) =&gt; v a -&gt; v b -&gt; v c -&gt; v (a, b, c) <a href="src/Data-Vector-Generic.html#zip3" class="link">Source</a> <a href="#v:zip3" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:zip4" class="def">zip4</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (a, b, c, d)) =&gt; v a -&gt; v b -&gt; v c -&gt; v d -&gt; v (a, b, c, d) <a href="src/Data-Vector-Generic.html#zip4" class="link">Source</a> <a href="#v:zip4" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:zip5" class="def">zip5</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v e, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (a, b, c, d, e)) =&gt; v a -&gt; v b -&gt; v c -&gt; v d -&gt; v e -&gt; v (a, b, c, d, e) <a href="src/Data-Vector-Generic.html#zip5" class="link">Source</a> <a href="#v:zip5" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:zip6" class="def">zip6</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v e, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v f, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (a, b, c, d, e, f)) =&gt; v a -&gt; v b -&gt; v c -&gt; v d -&gt; v e -&gt; v f -&gt; v (a, b, c, d, e, f) <a href="src/Data-Vector-Generic.html#zip6" class="link">Source</a> <a href="#v:zip6" class="selflink">#</a></p></div><h2 id="g:24">Monadic zipping</h2><div class="top"><p class="src"><a id="v:zipWithM" class="def">zipWithM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c) =&gt; (a -&gt; b -&gt; m c) -&gt; v a -&gt; v b -&gt; m (v c) <a href="src/Data-Vector-Generic.html#zipWithM" class="link">Source</a> <a href="#v:zipWithM" class="selflink">#</a></p><div class="doc"><p><em>O(min(m,n))</em> Zip the two vectors with the monadic action and yield a
 vector of results</p></div></div><div class="top"><p class="src"><a id="v:izipWithM" class="def">izipWithM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; m c) -&gt; v a -&gt; v b -&gt; m (v c) <a href="src/Data-Vector-Generic.html#izipWithM" class="link">Source</a> <a href="#v:izipWithM" class="selflink">#</a></p><div class="doc"><p><em>O(min(m,n))</em> Zip the two vectors with a monadic action that also takes
 the element index and yield a vector of results</p></div></div><div class="top"><p class="src"><a id="v:zipWithM_" class="def">zipWithM_</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; m c) -&gt; v a -&gt; v b -&gt; m () <a href="src/Data-Vector-Generic.html#zipWithM_" class="link">Source</a> <a href="#v:zipWithM_" class="selflink">#</a></p><div class="doc"><p><em>O(min(m,n))</em> Zip the two vectors with the monadic action and ignore the
 results</p></div></div><div class="top"><p class="src"><a id="v:izipWithM_" class="def">izipWithM_</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; m c) -&gt; v a -&gt; v b -&gt; m () <a href="src/Data-Vector-Generic.html#izipWithM_" class="link">Source</a> <a href="#v:izipWithM_" class="selflink">#</a></p><div class="doc"><p><em>O(min(m,n))</em> Zip the two vectors with a monadic action that also takes
 the element index and ignore the results</p></div></div><h2 id="g:25">Unzipping</h2><div class="top"><p class="src"><a id="v:unzip" class="def">unzip</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (a, b)) =&gt; v (a, b) -&gt; (v a, v b) <a href="src/Data-Vector-Generic.html#unzip" class="link">Source</a> <a href="#v:unzip" class="selflink">#</a></p><div class="doc"><p><em>O(min(m,n))</em> Unzip a vector of pairs.</p></div></div><div class="top"><p class="src"><a id="v:unzip3" class="def">unzip3</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (a, b, c)) =&gt; v (a, b, c) -&gt; (v a, v b, v c) <a href="src/Data-Vector-Generic.html#unzip3" class="link">Source</a> <a href="#v:unzip3" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:unzip4" class="def">unzip4</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (a, b, c, d)) =&gt; v (a, b, c, d) -&gt; (v a, v b, v c, v d) <a href="src/Data-Vector-Generic.html#unzip4" class="link">Source</a> <a href="#v:unzip4" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:unzip5" class="def">unzip5</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v e, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (a, b, c, d, e)) =&gt; v (a, b, c, d, e) -&gt; (v a, v b, v c, v d, v e) <a href="src/Data-Vector-Generic.html#unzip5" class="link">Source</a> <a href="#v:unzip5" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:unzip6" class="def">unzip6</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v c, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v d, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v e, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v f, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (a, b, c, d, e, f)) =&gt; v (a, b, c, d, e, f) -&gt; (v a, v b, v c, v d, v e, v f) <a href="src/Data-Vector-Generic.html#unzip6" class="link">Source</a> <a href="#v:unzip6" class="selflink">#</a></p></div><h1 id="g:26">Working with predicates</h1><h2 id="g:27">Filtering</h2><div class="top"><p class="src"><a id="v:filter" class="def">filter</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; v a <a href="src/Data-Vector-Generic.html#filter" class="link">Source</a> <a href="#v:filter" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Drop elements that do not satisfy the predicate</p></div></div><div class="top"><p class="src"><a id="v:ifilter" class="def">ifilter</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; v a <a href="src/Data-Vector-Generic.html#ifilter" class="link">Source</a> <a href="#v:ifilter" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Drop elements that do not satisfy the predicate which is applied to
 values and their indices</p></div></div><div class="top"><p class="src"><a id="v:uniq" class="def">uniq</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a) =&gt; v a -&gt; v a <a href="src/Data-Vector-Generic.html#uniq" class="link">Source</a> <a href="#v:uniq" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Drop repeated adjacent elements.</p></div></div><div class="top"><p class="src"><a id="v:mapMaybe" class="def">mapMaybe</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> b) -&gt; v a -&gt; v b <a href="src/Data-Vector-Generic.html#mapMaybe" class="link">Source</a> <a href="#v:mapMaybe" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Drop elements when predicate returns Nothing</p></div></div><div class="top"><p class="src"><a id="v:imapMaybe" class="def">imapMaybe</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> b) -&gt; v a -&gt; v b <a href="src/Data-Vector-Generic.html#imapMaybe" class="link">Source</a> <a href="#v:imapMaybe" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Drop elements when predicate, applied to index and value, returns Nothing</p></div></div><div class="top"><p class="src"><a id="v:filterM" class="def">filterM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; (a -&gt; m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; m (v a) <a href="src/Data-Vector-Generic.html#filterM" class="link">Source</a> <a href="#v:filterM" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Drop elements that do not satisfy the monadic predicate</p></div></div><div class="top"><p class="src"><a id="v:takeWhile" class="def">takeWhile</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; v a <a href="src/Data-Vector-Generic.html#takeWhile" class="link">Source</a> <a href="#v:takeWhile" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Yield the longest prefix of elements satisfying the predicate
 without copying.</p></div></div><div class="top"><p class="src"><a id="v:dropWhile" class="def">dropWhile</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; v a <a href="src/Data-Vector-Generic.html#dropWhile" class="link">Source</a> <a href="#v:dropWhile" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Drop the longest prefix of elements that satisfy the predicate
 without copying.</p></div></div><h2 id="g:28">Partitioning</h2><div class="top"><p class="src"><a id="v:partition" class="def">partition</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; (v a, v a) <a href="src/Data-Vector-Generic.html#partition" class="link">Source</a> <a href="#v:partition" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Split the vector in two parts, the first one containing those
 elements that satisfy the predicate and the second one those that don't. The
 relative order of the elements is preserved at the cost of a sometimes
 reduced performance compared to <code><a href="Data-Vector-Generic.html#v:unstablePartition">unstablePartition</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:unstablePartition" class="def">unstablePartition</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; (v a, v a) <a href="src/Data-Vector-Generic.html#unstablePartition" class="link">Source</a> <a href="#v:unstablePartition" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Split the vector in two parts, the first one containing those
 elements that satisfy the predicate and the second one those that don't.
 The order of the elements is not preserved but the operation is often
 faster than <code><a href="Data-Vector-Generic.html#v:partition">partition</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:span" class="def">span</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; (v a, v a) <a href="src/Data-Vector-Generic.html#span" class="link">Source</a> <a href="#v:span" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Split the vector into the longest prefix of elements that satisfy
 the predicate and the rest without copying.</p></div></div><div class="top"><p class="src"><a id="v:break" class="def">break</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; (v a, v a) <a href="src/Data-Vector-Generic.html#break" class="link">Source</a> <a href="#v:break" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Split the vector into the longest prefix of elements that do not
 satisfy the predicate and the rest without copying.</p></div></div><h2 id="g:29">Searching</h2><div class="top"><p class="src"><a id="v:elem" class="def">elem</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a) =&gt; a -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Data-Vector-Generic.html#elem" class="link">Source</a> <a href="#v:elem" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Check if the vector contains an element</p></div></div><div class="top"><p class="src"><a id="v:notElem" class="def">notElem</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a) =&gt; a -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Data-Vector-Generic.html#notElem" class="link">Source</a> <a href="#v:notElem" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Check if the vector does not contain an element (inverse of <code><a href="Data-Vector-Generic.html#v:elem">elem</a></code>)</p></div></div><div class="top"><p class="src"><a id="v:find" class="def">find</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <a href="src/Data-Vector-Generic.html#find" class="link">Source</a> <a href="#v:find" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Yield <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code> the first element matching the predicate or <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Nothing">Nothing</a></code>
 if no such element exists.</p></div></div><div class="top"><p class="src"><a id="v:findIndex" class="def">findIndex</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic.html#findIndex" class="link">Source</a> <a href="#v:findIndex" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Yield <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code> the index of the first element matching the predicate
 or <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Nothing">Nothing</a></code> if no such element exists.</p></div></div><div class="top"><p class="src"><a id="v:findIndices" class="def">findIndices</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>) =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic.html#findIndices" class="link">Source</a> <a href="#v:findIndices" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Yield the indices of elements satisfying the predicate in ascending
 order.</p></div></div><div class="top"><p class="src"><a id="v:elemIndex" class="def">elemIndex</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a) =&gt; a -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic.html#elemIndex" class="link">Source</a> <a href="#v:elemIndex" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Yield <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code> the index of the first occurence of the given element or
 <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Nothing">Nothing</a></code> if the vector does not contain the element. This is a specialised
 version of <code><a href="Data-Vector-Generic.html#v:findIndex">findIndex</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:elemIndices" class="def">elemIndices</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a) =&gt; a -&gt; v a -&gt; v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic.html#elemIndices" class="link">Source</a> <a href="#v:elemIndices" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Yield the indices of all occurences of the given element in
 ascending order. This is a specialised version of <code><a href="Data-Vector-Generic.html#v:findIndices">findIndices</a></code>.</p></div></div><h1 id="g:30">Folding</h1><div class="top"><p class="src"><a id="v:foldl" class="def">foldl</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b =&gt; (a -&gt; b -&gt; a) -&gt; a -&gt; v b -&gt; a <a href="src/Data-Vector-Generic.html#foldl" class="link">Source</a> <a href="#v:foldl" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Left fold</p></div></div><div class="top"><p class="src"><a id="v:foldl1" class="def">foldl1</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; a -&gt; a) -&gt; v a -&gt; a <a href="src/Data-Vector-Generic.html#foldl1" class="link">Source</a> <a href="#v:foldl1" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Left fold on non-empty vectors</p></div></div><div class="top"><p class="src"><a id="v:foldl-39-" class="def">foldl'</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b =&gt; (a -&gt; b -&gt; a) -&gt; a -&gt; v b -&gt; a <a href="src/Data-Vector-Generic.html#foldl%27" class="link">Source</a> <a href="#v:foldl-39-" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Left fold with strict accumulator</p></div></div><div class="top"><p class="src"><a id="v:foldl1-39-" class="def">foldl1'</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; a -&gt; a) -&gt; v a -&gt; a <a href="src/Data-Vector-Generic.html#foldl1%27" class="link">Source</a> <a href="#v:foldl1-39-" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Left fold on non-empty vectors with strict accumulator</p></div></div><div class="top"><p class="src"><a id="v:foldr" class="def">foldr</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; b -&gt; b) -&gt; b -&gt; v a -&gt; b <a href="src/Data-Vector-Generic.html#foldr" class="link">Source</a> <a href="#v:foldr" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Right fold</p></div></div><div class="top"><p class="src"><a id="v:foldr1" class="def">foldr1</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; a -&gt; a) -&gt; v a -&gt; a <a href="src/Data-Vector-Generic.html#foldr1" class="link">Source</a> <a href="#v:foldr1" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Right fold on non-empty vectors</p></div></div><div class="top"><p class="src"><a id="v:foldr-39-" class="def">foldr'</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; b -&gt; b) -&gt; b -&gt; v a -&gt; b <a href="src/Data-Vector-Generic.html#foldr%27" class="link">Source</a> <a href="#v:foldr-39-" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Right fold with a strict accumulator</p></div></div><div class="top"><p class="src"><a id="v:foldr1-39-" class="def">foldr1'</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; a -&gt; a) -&gt; v a -&gt; a <a href="src/Data-Vector-Generic.html#foldr1%27" class="link">Source</a> <a href="#v:foldr1-39-" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Right fold on non-empty vectors with strict accumulator</p></div></div><div class="top"><p class="src"><a id="v:ifoldl" class="def">ifoldl</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; b -&gt; a) -&gt; a -&gt; v b -&gt; a <a href="src/Data-Vector-Generic.html#ifoldl" class="link">Source</a> <a href="#v:ifoldl" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Left fold (function applied to each element and its index)</p></div></div><div class="top"><p class="src"><a id="v:ifoldl-39-" class="def">ifoldl'</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; b -&gt; a) -&gt; a -&gt; v b -&gt; a <a href="src/Data-Vector-Generic.html#ifoldl%27" class="link">Source</a> <a href="#v:ifoldl-39-" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Left fold with strict accumulator (function applied to each element
 and its index)</p></div></div><div class="top"><p class="src"><a id="v:ifoldr" class="def">ifoldr</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; b) -&gt; b -&gt; v a -&gt; b <a href="src/Data-Vector-Generic.html#ifoldr" class="link">Source</a> <a href="#v:ifoldr" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Right fold (function applied to each element and its index)</p></div></div><div class="top"><p class="src"><a id="v:ifoldr-39-" class="def">ifoldr'</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; b) -&gt; b -&gt; v a -&gt; b <a href="src/Data-Vector-Generic.html#ifoldr%27" class="link">Source</a> <a href="#v:ifoldr-39-" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Right fold with strict accumulator (function applied to each
 element and its index)</p></div></div><h2 id="g:31">Specialised folds</h2><div class="top"><p class="src"><a id="v:all" class="def">all</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Data-Vector-Generic.html#all" class="link">Source</a> <a href="#v:all" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Check if all elements satisfy the predicate.</p></div></div><div class="top"><p class="src"><a id="v:any" class="def">any</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Data-Vector-Generic.html#any" class="link">Source</a> <a href="#v:any" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Check if any element satisfies the predicate.</p></div></div><div class="top"><p class="src"><a id="v:and" class="def">and</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> =&gt; v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Data-Vector-Generic.html#and" class="link">Source</a> <a href="#v:and" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Check if all elements are <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:True">True</a></code></p></div></div><div class="top"><p class="src"><a id="v:or" class="def">or</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> =&gt; v <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Data-Vector-Generic.html#or" class="link">Source</a> <a href="#v:or" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Check if any element is <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:True">True</a></code></p></div></div><div class="top"><p class="src"><a id="v:sum" class="def">sum</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> a) =&gt; v a -&gt; a <a href="src/Data-Vector-Generic.html#sum" class="link">Source</a> <a href="#v:sum" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Compute the sum of the elements</p></div></div><div class="top"><p class="src"><a id="v:product" class="def">product</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> a) =&gt; v a -&gt; a <a href="src/Data-Vector-Generic.html#product" class="link">Source</a> <a href="#v:product" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Compute the produce of the elements</p></div></div><div class="top"><p class="src"><a id="v:maximum" class="def">maximum</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a) =&gt; v a -&gt; a <a href="src/Data-Vector-Generic.html#maximum" class="link">Source</a> <a href="#v:maximum" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Yield the maximum element of the vector. The vector may not be
 empty.</p></div></div><div class="top"><p class="src"><a id="v:maximumBy" class="def">maximumBy</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a>) -&gt; v a -&gt; a <a href="src/Data-Vector-Generic.html#maximumBy" class="link">Source</a> <a href="#v:maximumBy" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Yield the maximum element of the vector according to the given
 comparison function. The vector may not be empty.</p></div></div><div class="top"><p class="src"><a id="v:minimum" class="def">minimum</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a) =&gt; v a -&gt; a <a href="src/Data-Vector-Generic.html#minimum" class="link">Source</a> <a href="#v:minimum" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Yield the minimum element of the vector. The vector may not be
 empty.</p></div></div><div class="top"><p class="src"><a id="v:minimumBy" class="def">minimumBy</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a>) -&gt; v a -&gt; a <a href="src/Data-Vector-Generic.html#minimumBy" class="link">Source</a> <a href="#v:minimumBy" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Yield the minimum element of the vector according to the given
 comparison function. The vector may not be empty.</p></div></div><div class="top"><p class="src"><a id="v:minIndex" class="def">minIndex</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a) =&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic.html#minIndex" class="link">Source</a> <a href="#v:minIndex" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Yield the index of the minimum element of the vector. The vector
 may not be empty.</p></div></div><div class="top"><p class="src"><a id="v:minIndexBy" class="def">minIndexBy</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a>) -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic.html#minIndexBy" class="link">Source</a> <a href="#v:minIndexBy" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Yield the index of the minimum element of the vector according to
 the given comparison function. The vector may not be empty.</p></div></div><div class="top"><p class="src"><a id="v:maxIndex" class="def">maxIndex</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a) =&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic.html#maxIndex" class="link">Source</a> <a href="#v:maxIndex" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Yield the index of the maximum element of the vector. The vector
 may not be empty.</p></div></div><div class="top"><p class="src"><a id="v:maxIndexBy" class="def">maxIndexBy</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a>) -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Data-Vector-Generic.html#maxIndexBy" class="link">Source</a> <a href="#v:maxIndexBy" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Yield the index of the maximum element of the vector according to
 the given comparison function. The vector may not be empty.</p></div></div><h2 id="g:32">Monadic folds</h2><div class="top"><p class="src"><a id="v:foldM" class="def">foldM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; m a) -&gt; a -&gt; v b -&gt; m a <a href="src/Data-Vector-Generic.html#foldM" class="link">Source</a> <a href="#v:foldM" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Monadic fold</p></div></div><div class="top"><p class="src"><a id="v:ifoldM" class="def">ifoldM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; b -&gt; m a) -&gt; a -&gt; v b -&gt; m a <a href="src/Data-Vector-Generic.html#ifoldM" class="link">Source</a> <a href="#v:ifoldM" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Monadic fold (action applied to each element and its index)</p></div></div><div class="top"><p class="src"><a id="v:foldM-39-" class="def">foldM'</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; m a) -&gt; a -&gt; v b -&gt; m a <a href="src/Data-Vector-Generic.html#foldM%27" class="link">Source</a> <a href="#v:foldM-39-" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Monadic fold with strict accumulator</p></div></div><div class="top"><p class="src"><a id="v:ifoldM-39-" class="def">ifoldM'</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; b -&gt; m a) -&gt; a -&gt; v b -&gt; m a <a href="src/Data-Vector-Generic.html#ifoldM%27" class="link">Source</a> <a href="#v:ifoldM-39-" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Monadic fold with strict accumulator (action applied to each
 element and its index)</p></div></div><div class="top"><p class="src"><a id="v:fold1M" class="def">fold1M</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; (a -&gt; a -&gt; m a) -&gt; v a -&gt; m a <a href="src/Data-Vector-Generic.html#fold1M" class="link">Source</a> <a href="#v:fold1M" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Monadic fold over non-empty vectors</p></div></div><div class="top"><p class="src"><a id="v:fold1M-39-" class="def">fold1M'</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; (a -&gt; a -&gt; m a) -&gt; v a -&gt; m a <a href="src/Data-Vector-Generic.html#fold1M%27" class="link">Source</a> <a href="#v:fold1M-39-" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Monadic fold over non-empty vectors with strict accumulator</p></div></div><div class="top"><p class="src"><a id="v:foldM_" class="def">foldM_</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; m a) -&gt; a -&gt; v b -&gt; m () <a href="src/Data-Vector-Generic.html#foldM_" class="link">Source</a> <a href="#v:foldM_" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Monadic fold that discards the result</p></div></div><div class="top"><p class="src"><a id="v:ifoldM_" class="def">ifoldM_</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; b -&gt; m a) -&gt; a -&gt; v b -&gt; m () <a href="src/Data-Vector-Generic.html#ifoldM_" class="link">Source</a> <a href="#v:ifoldM_" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Monadic fold that discards the result (action applied to
 each element and its index)</p></div></div><div class="top"><p class="src"><a id="v:foldM-39-_" class="def">foldM'_</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; m a) -&gt; a -&gt; v b -&gt; m () <a href="src/Data-Vector-Generic.html#foldM%27_" class="link">Source</a> <a href="#v:foldM-39-_" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Monadic fold with strict accumulator that discards the result</p></div></div><div class="top"><p class="src"><a id="v:ifoldM-39-_" class="def">ifoldM'_</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; b -&gt; m a) -&gt; a -&gt; v b -&gt; m () <a href="src/Data-Vector-Generic.html#ifoldM%27_" class="link">Source</a> <a href="#v:ifoldM-39-_" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Monadic fold with strict accumulator that discards the result
 (action applied to each element and its index)</p></div></div><div class="top"><p class="src"><a id="v:fold1M_" class="def">fold1M_</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; (a -&gt; a -&gt; m a) -&gt; v a -&gt; m () <a href="src/Data-Vector-Generic.html#fold1M_" class="link">Source</a> <a href="#v:fold1M_" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Monadic fold over non-empty vectors that discards the result</p></div></div><div class="top"><p class="src"><a id="v:fold1M-39-_" class="def">fold1M'_</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; (a -&gt; a -&gt; m a) -&gt; v a -&gt; m () <a href="src/Data-Vector-Generic.html#fold1M%27_" class="link">Source</a> <a href="#v:fold1M-39-_" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Monad fold over non-empty vectors with strict accumulator
 that discards the result</p></div></div><h2 id="g:33">Monadic sequencing</h2><div class="top"><p class="src"><a id="v:sequence" class="def">sequence</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (m a)) =&gt; v (m a) -&gt; m (v a) <a href="src/Data-Vector-Generic.html#sequence" class="link">Source</a> <a href="#v:sequence" class="selflink">#</a></p><div class="doc"><p>Evaluate each action and collect the results</p></div></div><div class="top"><p class="src"><a id="v:sequence_" class="def">sequence_</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v (m a)) =&gt; v (m a) -&gt; m () <a href="src/Data-Vector-Generic.html#sequence_" class="link">Source</a> <a href="#v:sequence_" class="selflink">#</a></p><div class="doc"><p>Evaluate each action and discard the results</p></div></div><h1 id="g:34">Prefix sums (scans)</h1><div class="top"><p class="src"><a id="v:prescanl" class="def">prescanl</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; a) -&gt; a -&gt; v b -&gt; v a <a href="src/Data-Vector-Generic.html#prescanl" class="link">Source</a> <a href="#v:prescanl" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Prescan</p><pre>prescanl f z = <code><a href="Data-Vector-Generic.html#v:init">init</a></code> . <code><a href="Data-Vector-Generic.html#v:scanl">scanl</a></code> f z
</pre><p>Example: <code>prescanl (+) 0 &lt;1,2,3,4&gt; = &lt;0,1,3,6&gt;</code></p></div></div><div class="top"><p class="src"><a id="v:prescanl-39-" class="def">prescanl'</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; a) -&gt; a -&gt; v b -&gt; v a <a href="src/Data-Vector-Generic.html#prescanl%27" class="link">Source</a> <a href="#v:prescanl-39-" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Prescan with strict accumulator</p></div></div><div class="top"><p class="src"><a id="v:postscanl" class="def">postscanl</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; a) -&gt; a -&gt; v b -&gt; v a <a href="src/Data-Vector-Generic.html#postscanl" class="link">Source</a> <a href="#v:postscanl" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Scan</p><pre>postscanl f z = <code><a href="Data-Vector-Generic.html#v:tail">tail</a></code> . <code><a href="Data-Vector-Generic.html#v:scanl">scanl</a></code> f z
</pre><p>Example: <code>postscanl (+) 0 &lt;1,2,3,4&gt; = &lt;1,3,6,10&gt;</code></p></div></div><div class="top"><p class="src"><a id="v:postscanl-39-" class="def">postscanl'</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; a) -&gt; a -&gt; v b -&gt; v a <a href="src/Data-Vector-Generic.html#postscanl%27" class="link">Source</a> <a href="#v:postscanl-39-" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Scan with strict accumulator</p></div></div><div class="top"><p class="src"><a id="v:scanl" class="def">scanl</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; a) -&gt; a -&gt; v b -&gt; v a <a href="src/Data-Vector-Generic.html#scanl" class="link">Source</a> <a href="#v:scanl" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Haskell-style scan</p><pre>scanl f z &lt;x1,...,xn&gt; = &lt;y1,...,y(n+1)&gt;
  where y1 = z
        yi = f y(i-1) x(i-1)</pre><p>Example: <code>scanl (+) 0 &lt;1,2,3,4&gt; = &lt;0,1,3,6,10&gt;</code></p></div></div><div class="top"><p class="src"><a id="v:scanl-39-" class="def">scanl'</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; a) -&gt; a -&gt; v b -&gt; v a <a href="src/Data-Vector-Generic.html#scanl%27" class="link">Source</a> <a href="#v:scanl-39-" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Haskell-style scan with strict accumulator</p></div></div><div class="top"><p class="src"><a id="v:scanl1" class="def">scanl1</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; a -&gt; a) -&gt; v a -&gt; v a <a href="src/Data-Vector-Generic.html#scanl1" class="link">Source</a> <a href="#v:scanl1" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Scan over a non-empty vector</p><pre>scanl f &lt;x1,...,xn&gt; = &lt;y1,...,yn&gt;
  where y1 = x1
        yi = f y(i-1) xi</pre></div></div><div class="top"><p class="src"><a id="v:scanl1-39-" class="def">scanl1'</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; a -&gt; a) -&gt; v a -&gt; v a <a href="src/Data-Vector-Generic.html#scanl1%27" class="link">Source</a> <a href="#v:scanl1-39-" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Scan over a non-empty vector with a strict accumulator</p></div></div><div class="top"><p class="src"><a id="v:iscanl" class="def">iscanl</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; a) -&gt; a -&gt; v b -&gt; v a <a href="src/Data-Vector-Generic.html#iscanl" class="link">Source</a> <a href="#v:iscanl" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Scan over a vector with its index</p></div></div><div class="top"><p class="src"><a id="v:iscanl-39-" class="def">iscanl'</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; a) -&gt; a -&gt; v b -&gt; v a <a href="src/Data-Vector-Generic.html#iscanl%27" class="link">Source</a> <a href="#v:iscanl-39-" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Scan over a vector (strictly) with its index</p></div></div><div class="top"><p class="src"><a id="v:prescanr" class="def">prescanr</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; b) -&gt; b -&gt; v a -&gt; v b <a href="src/Data-Vector-Generic.html#prescanr" class="link">Source</a> <a href="#v:prescanr" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Right-to-left prescan</p><pre>prescanr f z = <code><a href="Data-Vector-Generic.html#v:reverse">reverse</a></code> . <code><a href="Data-Vector-Generic.html#v:prescanl">prescanl</a></code> (flip f) z . <code><a href="Data-Vector-Generic.html#v:reverse">reverse</a></code>
</pre></div></div><div class="top"><p class="src"><a id="v:prescanr-39-" class="def">prescanr'</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; b) -&gt; b -&gt; v a -&gt; v b <a href="src/Data-Vector-Generic.html#prescanr%27" class="link">Source</a> <a href="#v:prescanr-39-" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Right-to-left prescan with strict accumulator</p></div></div><div class="top"><p class="src"><a id="v:postscanr" class="def">postscanr</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; b) -&gt; b -&gt; v a -&gt; v b <a href="src/Data-Vector-Generic.html#postscanr" class="link">Source</a> <a href="#v:postscanr" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Right-to-left scan</p></div></div><div class="top"><p class="src"><a id="v:postscanr-39-" class="def">postscanr'</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; b) -&gt; b -&gt; v a -&gt; v b <a href="src/Data-Vector-Generic.html#postscanr%27" class="link">Source</a> <a href="#v:postscanr-39-" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Right-to-left scan with strict accumulator</p></div></div><div class="top"><p class="src"><a id="v:scanr" class="def">scanr</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; b) -&gt; b -&gt; v a -&gt; v b <a href="src/Data-Vector-Generic.html#scanr" class="link">Source</a> <a href="#v:scanr" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Right-to-left Haskell-style scan</p></div></div><div class="top"><p class="src"><a id="v:scanr-39-" class="def">scanr'</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; b) -&gt; b -&gt; v a -&gt; v b <a href="src/Data-Vector-Generic.html#scanr%27" class="link">Source</a> <a href="#v:scanr-39-" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Right-to-left Haskell-style scan with strict accumulator</p></div></div><div class="top"><p class="src"><a id="v:scanr1" class="def">scanr1</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; a -&gt; a) -&gt; v a -&gt; v a <a href="src/Data-Vector-Generic.html#scanr1" class="link">Source</a> <a href="#v:scanr1" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Right-to-left scan over a non-empty vector</p></div></div><div class="top"><p class="src"><a id="v:scanr1-39-" class="def">scanr1'</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (a -&gt; a -&gt; a) -&gt; v a -&gt; v a <a href="src/Data-Vector-Generic.html#scanr1%27" class="link">Source</a> <a href="#v:scanr1-39-" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Right-to-left scan over a non-empty vector with a strict
 accumulator</p></div></div><div class="top"><p class="src"><a id="v:iscanr" class="def">iscanr</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; b) -&gt; b -&gt; v a -&gt; v b <a href="src/Data-Vector-Generic.html#iscanr" class="link">Source</a> <a href="#v:iscanr" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Right-to-left scan over a vector with its index</p></div></div><div class="top"><p class="src"><a id="v:iscanr-39-" class="def">iscanr'</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; b -&gt; b) -&gt; b -&gt; v a -&gt; v b <a href="src/Data-Vector-Generic.html#iscanr%27" class="link">Source</a> <a href="#v:iscanr-39-" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Right-to-left scan over a vector (strictly) with its index</p></div></div><h1 id="g:35">Conversions</h1><h2 id="g:36">Lists</h2><div class="top"><p class="src"><a id="v:toList" class="def">toList</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; [a] <a href="src/Data-Vector-Generic.html#toList" class="link">Source</a> <a href="#v:toList" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Convert a vector to a list</p></div></div><div class="top"><p class="src"><a id="v:fromList" class="def">fromList</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; [a] -&gt; v a <a href="src/Data-Vector-Generic.html#fromList" class="link">Source</a> <a href="#v:fromList" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Convert a list to a vector</p></div></div><div class="top"><p class="src"><a id="v:fromListN" class="def">fromListN</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; [a] -&gt; v a <a href="src/Data-Vector-Generic.html#fromListN" class="link">Source</a> <a href="#v:fromListN" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Convert the first <code>n</code> elements of a list to a vector</p><pre>fromListN n xs = <code><a href="Data-Vector-Generic.html#v:fromList">fromList</a></code> (<code><a href="Data-Vector-Generic.html#v:take">take</a></code> n xs)
</pre></div></div><h2 id="g:37">Different vector types</h2><div class="top"><p class="src"><a id="v:convert" class="def">convert</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> w a) =&gt; v a -&gt; w a <a href="src/Data-Vector-Generic.html#convert" class="link">Source</a> <a href="#v:convert" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Convert different vector types</p></div></div><h2 id="g:38">Mutable vectors</h2><div class="top"><p class="src"><a id="v:freeze" class="def">freeze</a> :: (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> v (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; m (v a) <a href="src/Data-Vector-Generic.html#freeze" class="link">Source</a> <a href="#v:freeze" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Yield an immutable copy of the mutable vector.</p></div></div><div class="top"><p class="src"><a id="v:thaw" class="def">thaw</a> :: (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; v a -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> v (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a) <a href="src/Data-Vector-Generic.html#thaw" class="link">Source</a> <a href="#v:thaw" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Yield a mutable copy of the immutable vector.</p></div></div><div class="top"><p class="src"><a id="v:copy" class="def">copy</a> :: (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> v (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; v a -&gt; m () <a href="src/Data-Vector-Generic.html#copy" class="link">Source</a> <a href="#v:copy" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Copy an immutable vector into a mutable one. The two vectors must
 have the same length.</p></div></div><div class="top"><p class="src"><a id="v:unsafeFreeze" class="def">unsafeFreeze</a> :: (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> v (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; m (v a) <a href="src/Data-Vector-Generic.html#unsafeFreeze" class="link">Source</a> <a href="#v:unsafeFreeze" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> Unsafe convert a mutable vector to an immutable one without
 copying. The mutable vector may not be used after this operation.</p></div></div><div class="top"><p class="src"><a id="v:unsafeThaw" class="def">unsafeThaw</a> :: (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; v a -&gt; m (<a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> v (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a) <a href="src/Data-Vector-Generic.html#unsafeThaw" class="link">Source</a> <a href="#v:unsafeThaw" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> Unsafely convert an immutable vector to a mutable one without
 copying. The immutable vector may not be used after this operation.</p></div></div><div class="top"><p class="src"><a id="v:unsafeCopy" class="def">unsafeCopy</a> :: (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a) =&gt; <a href="Data-Vector-Generic.html#t:Mutable">Mutable</a> v (<a href="file:///usr/share/doc/libghc-primitive-doc/html/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; v a -&gt; m () <a href="src/Data-Vector-Generic.html#unsafeCopy" class="link">Source</a> <a href="#v:unsafeCopy" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Copy an immutable vector into a mutable one. The two vectors must
 have the same length. This is not checked.</p></div></div><h1 id="g:39">Fusion support</h1><h2 id="g:40">Conversion to/from Bundles</h2><div class="top"><p class="src"><a id="v:stream" class="def">stream</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; <a href="Data-Vector-Fusion-Bundle.html#t:Bundle">Bundle</a> v a <a href="src/Data-Vector-Generic.html#stream" class="link">Source</a> <a href="#v:stream" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> Convert a vector to a <code><a href="Data-Vector-Fusion-Bundle.html#t:Bundle">Bundle</a></code></p></div></div><div class="top"><p class="src"><a id="v:unstream" class="def">unstream</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="Data-Vector-Fusion-Bundle.html#t:Bundle">Bundle</a> v a -&gt; v a <a href="src/Data-Vector-Generic.html#unstream" class="link">Source</a> <a href="#v:unstream" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Construct a vector from a <code><a href="Data-Vector-Fusion-Bundle.html#t:Bundle">Bundle</a></code></p></div></div><div class="top"><p class="src"><a id="v:streamR" class="def">streamR</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; <a href="Data-Vector-Fusion-Bundle.html#t:Bundle">Bundle</a> u a <a href="src/Data-Vector-Generic.html#streamR" class="link">Source</a> <a href="#v:streamR" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em> Convert a vector to a <code><a href="Data-Vector-Fusion-Bundle.html#t:Bundle">Bundle</a></code>, proceeding from right to left</p></div></div><div class="top"><p class="src"><a id="v:unstreamR" class="def">unstreamR</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="Data-Vector-Fusion-Bundle.html#t:Bundle">Bundle</a> v a -&gt; v a <a href="src/Data-Vector-Generic.html#unstreamR" class="link">Source</a> <a href="#v:unstreamR" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Construct a vector from a <code><a href="Data-Vector-Fusion-Bundle.html#t:Bundle">Bundle</a></code>, proceeding from right to left</p></div></div><h2 id="g:41">Recycling support</h2><div class="top"><p class="src"><a id="v:new" class="def">new</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; <a href="Data-Vector-Generic-New.html#t:New">New</a> v a -&gt; v a <a href="src/Data-Vector-Generic.html#new" class="link">Source</a> <a href="#v:new" class="selflink">#</a></p><div class="doc"><p>Construct a vector from a monadic initialiser.</p></div></div><div class="top"><p class="src"><a id="v:clone" class="def">clone</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; v a -&gt; <a href="Data-Vector-Generic-New.html#t:New">New</a> v a <a href="src/Data-Vector-Generic.html#clone" class="link">Source</a> <a href="#v:clone" class="selflink">#</a></p><div class="doc"><p>Convert a vector to an initialiser which, when run, produces a copy of
 the vector.</p></div></div><h1 id="g:42">Utilities</h1><h2 id="g:43">Comparisons</h2><div class="top"><p class="src"><a id="v:eq" class="def">eq</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a) =&gt; v a -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Data-Vector-Generic.html#eq" class="link">Source</a> <a href="#v:eq" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Check if two vectors are equal. All <code><a href="Data-Vector-Generic.html#t:Vector">Vector</a></code> instances are also
 instances of <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a></code> and it is usually more appropriate to use those. This
 function is primarily intended for implementing <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a></code> instances for new
 vector types.</p></div></div><div class="top"><p class="src"><a id="v:cmp" class="def">cmp</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a) =&gt; v a -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="src/Data-Vector-Generic.html#cmp" class="link">Source</a> <a href="#v:cmp" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em> Compare two vectors lexicographically. All <code><a href="Data-Vector-Generic.html#t:Vector">Vector</a></code> instances are
 also instances of <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a></code> and it is usually more appropriate to use those. This
 function is primarily intended for implementing <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a></code> instances for new
 vector types.</p></div></div><div class="top"><p class="src"><a id="v:eqBy" class="def">eqBy</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v a -&gt; v b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Data-Vector-Generic.html#eqBy" class="link">Source</a> <a href="#v:eqBy" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em></p></div></div><div class="top"><p class="src"><a id="v:cmpBy" class="def">cmpBy</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v b) =&gt; (a -&gt; b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a>) -&gt; v a -&gt; v b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="src/Data-Vector-Generic.html#cmpBy" class="link">Source</a> <a href="#v:cmpBy" class="selflink">#</a></p><div class="doc"><p><em>O(n)</em></p></div></div><h2 id="g:44">Show and Read</h2><div class="top"><p class="src"><a id="v:showsPrec" class="def">showsPrec</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:Show">Show</a> a) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="src/Data-Vector-Generic.html#showsPrec" class="link">Source</a> <a href="#v:showsPrec" class="selflink">#</a></p><div class="doc"><p>Generic definition of <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#v:showsPrec">showsPrec</a></code></p></div></div><div class="top"><p class="src"><a id="v:readPrec" class="def">readPrec</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Read.html#t:Read">Read</a> a) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> (v a) <a href="src/Data-Vector-Generic.html#readPrec" class="link">Source</a> <a href="#v:readPrec" class="selflink">#</a></p><div class="doc"><p>Generic definition of <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Read.html#v:readPrec">readPrec</a></code></p></div></div><div class="top"><p class="src"><a id="v:liftShowsPrec" class="def">liftShowsPrec</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a>) -&gt; ([a] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a>) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; v a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="src/Data-Vector-Generic.html#liftShowsPrec" class="link">Source</a> <a href="#v:liftShowsPrec" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:liftReadsPrec" class="def">liftReadsPrec</a> :: <a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a =&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> a) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> [a] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> (v a) <a href="src/Data-Vector-Generic.html#liftReadsPrec" class="link">Source</a> <a href="#v:liftReadsPrec" class="selflink">#</a></p><div class="doc"><p><em>Note:</em> uses <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a></code></p></div></div><h2 id="g:45"><code>Data</code> and <code>Typeable</code></h2><div class="top"><p class="src"><a id="v:gfoldl" class="def">gfoldl</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Data">Data</a> a) =&gt; (<span class="keyword">forall</span> d b. <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Data">Data</a> d =&gt; c (d -&gt; b) -&gt; d -&gt; c b) -&gt; (<span class="keyword">forall</span> g. g -&gt; c g) -&gt; v a -&gt; c (v a) <a href="src/Data-Vector-Generic.html#gfoldl" class="link">Source</a> <a href="#v:gfoldl" class="selflink">#</a></p><div class="doc"><p>Generic definion of <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#v:gfoldl">gfoldl</a></code> that views a <code><a href="Data-Vector-Generic.html#t:Vector">Vector</a></code> as a
 list.</p></div></div><div class="top"><p class="src"><a id="v:dataCast" class="def">dataCast</a> :: (<a href="Data-Vector-Generic.html#t:Vector">Vector</a> v a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Data">Data</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> v, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> t) =&gt; (<span class="keyword">forall</span> d. <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Data">Data</a> d =&gt; c (t d)) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c (v a)) <a href="src/Data-Vector-Generic.html#dataCast" class="link">Source</a> <a href="#v:dataCast" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:mkType" class="def">mkType</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:DataType">DataType</a> <a href="src/Data-Vector-Generic.html#mkType" class="link">Source</a> <a href="#v:mkType" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.3</p></div></body></html>