-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEta-Classes-Traversable.html
29 lines (29 loc) · 41.9 KB
/
Eta-Classes-Traversable.html
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
<!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>Eta.Classes.Traversable</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Eta-Classes-Traversable.html");};
//]]>
</script></head><body class="no-frame"><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption empty"> </p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe</td></tr></table><p class="caption">Eta.Classes.Traversable</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>The <code><a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a></code> type class defines that a structure
can be traversed from left to right, applying some
flatmappable function to it.</p><pre>>> traverse readFile ["foo.txt", "bar.txt", "quux.txt"]
["foo contents" , "bar contents", "quux contents"]
</pre><p>It basically applies the actions inside of the type that
the passed returns, and collects them, unless it fails.</p><pre>safeDivide a b =
if b == 0
then Nothing
else Just (a / b)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>traverse (safeDivide 2) [1, 2]
</code></strong>Just [2,1]
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>traverse (safeDivide 2) [0, 2]
</code></strong>Nothing
</pre></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="Eta-Classes-Functor.html#t:Functor">Functor</a> t, <a href="Eta-Classes-Foldable.html#t:Foldable">Foldable</a> t) => <a href="#t:Traversable">Traversable</a> t <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><a href="#v:for">for</a> :: (<a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> t, <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> m) => t a -> (a -> m b) -> m (t b)</li><li class="src short"><a href="#v:sequence">sequence</a> :: (<a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> t, <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> m) => t (m a) -> m (t a)</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">class</span> (<a href="Eta-Classes-Functor.html#t:Functor">Functor</a> t, <a href="Eta-Classes-Foldable.html#t:Foldable">Foldable</a> t) => <a id="t:Traversable" class="def">Traversable</a> t <span class="keyword">where</span> <a href="#t:Traversable" class="selflink">#</a></p><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Eta-Classes-Traversable.html#v:traverse">traverse</a> | <a href="Eta-Classes-Traversable.html#v:sequenceA">sequenceA</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:traverse" class="def">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> t a -> f (t b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a id="v:sequenceA" class="def">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => t (f a) -> f (t a) <a href="#v:sequenceA" class="selflink">#</a></p></div><div class="subs instances"><p id="control.i:Traversable" class="caption collapser" onclick="toggleSection('i:Traversable')">Instances</p><div id="section.i:Traversable" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:1" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:1')"></span> <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> []</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> [a] -> f [b] <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => [f a] -> f [a] <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> [a] -> m [b]</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => [m a] -> m [a]</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:2" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:2')"></span> <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> <a href="Eta-Types-Maybe.html#t:Maybe">Maybe</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> <a href="Eta-Types-Maybe.html#t:Maybe">Maybe</a> a -> f (<a href="Eta-Types-Maybe.html#t:Maybe">Maybe</a> b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => <a href="Eta-Types-Maybe.html#t:Maybe">Maybe</a> (f a) -> f (<a href="Eta-Types-Maybe.html#t:Maybe">Maybe</a> a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> <a href="Eta-Types-Maybe.html#t:Maybe">Maybe</a> a -> m (<a href="Eta-Types-Maybe.html#t:Maybe">Maybe</a> b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => <a href="Eta-Types-Maybe.html#t:Maybe">Maybe</a> (m a) -> m (<a href="Eta-Types-Maybe.html#t:Maybe">Maybe</a> a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:3" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:3')"></span> <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> V1</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> V1 a -> f (V1 b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => V1 (f a) -> f (V1 a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> V1 a -> m (V1 b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => V1 (m a) -> m (V1 a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:4" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:4')"></span> <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> U1</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> U1 a -> f (U1 b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => U1 (f a) -> f (U1 a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> U1 a -> m (U1 b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => U1 (m a) -> m (U1 a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:5" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:5')"></span> <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> Par1</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> Par1 a -> f (Par1 b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => Par1 (f a) -> f (Par1 a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> Par1 a -> m (Par1 b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => Par1 (m a) -> m (Par1 a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:6" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:6')"></span> <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> Sum</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> Sum a -> f (Sum b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => Sum (f a) -> f (Sum a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> Sum a -> m (Sum b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => Sum (m a) -> m (Sum a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:7" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:7')"></span> <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> Product</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> Product a -> f (Product b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => Product (f a) -> f (Product a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> Product a -> m (Product b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => Product (m a) -> m (Product a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:8" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:8')"></span> <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> Last</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> Last a -> f (Last b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => Last (f a) -> f (Last a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> Last a -> m (Last b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => Last (m a) -> m (Last a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:9" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:9')"></span> <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> First</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> First a -> f (First b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => First (f a) -> f (First a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> First a -> m (First b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => First (m a) -> m (First a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:10" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:10')"></span> <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> Dual</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> Dual a -> f (Dual b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => Dual (f a) -> f (Dual a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> Dual a -> m (Dual b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => Dual (m a) -> m (Dual a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:11" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:11')"></span> <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> ZipList</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:11" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> ZipList a -> f (ZipList b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => ZipList (f a) -> f (ZipList a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> ZipList a -> m (ZipList b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => ZipList (m a) -> m (ZipList a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:12" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:12')"></span> <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> (<a href="Eta-Types-Either.html#t:Either">Either</a> a)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:12" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> <a href="Eta-Types-Either.html#t:Either">Either</a> a a -> f (<a href="Eta-Types-Either.html#t:Either">Either</a> a b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => <a href="Eta-Types-Either.html#t:Either">Either</a> a (f a) -> f (<a href="Eta-Types-Either.html#t:Either">Either</a> a a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> <a href="Eta-Types-Either.html#t:Either">Either</a> a a -> m (<a href="Eta-Types-Either.html#t:Either">Either</a> a b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => <a href="Eta-Types-Either.html#t:Either">Either</a> a (m a) -> m (<a href="Eta-Types-Either.html#t:Either">Either</a> a a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:13" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:13')"></span> <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> f => <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> (Rec1 f)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:13" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> Rec1 f a -> f (Rec1 f b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => Rec1 f (f a) -> f (Rec1 f a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> Rec1 f a -> m (Rec1 f b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => Rec1 f (m a) -> m (Rec1 f a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:14" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:14')"></span> <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> (URec <a href="Eta-Types-Char.html#t:Char">Char</a>)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:14" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> URec <a href="Eta-Types-Char.html#t:Char">Char</a> a -> f (URec <a href="Eta-Types-Char.html#t:Char">Char</a> b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => URec <a href="Eta-Types-Char.html#t:Char">Char</a> (f a) -> f (URec <a href="Eta-Types-Char.html#t:Char">Char</a> a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> URec <a href="Eta-Types-Char.html#t:Char">Char</a> a -> m (URec <a href="Eta-Types-Char.html#t:Char">Char</a> b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => URec <a href="Eta-Types-Char.html#t:Char">Char</a> (m a) -> m (URec <a href="Eta-Types-Char.html#t:Char">Char</a> a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:15" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:15')"></span> <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> (URec Double)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:15" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> URec Double a -> f (URec Double b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => URec Double (f a) -> f (URec Double a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> URec Double a -> m (URec Double b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => URec Double (m a) -> m (URec Double a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:16" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:16')"></span> <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> (URec Float)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:16" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> URec Float a -> f (URec Float b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => URec Float (f a) -> f (URec Float a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> URec Float a -> m (URec Float b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => URec Float (m a) -> m (URec Float a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:17" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:17')"></span> <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> (URec <a href="Eta-Types.html#t:Int">Int</a>)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:17" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> URec <a href="Eta-Types.html#t:Int">Int</a> a -> f (URec <a href="Eta-Types.html#t:Int">Int</a> b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => URec <a href="Eta-Types.html#t:Int">Int</a> (f a) -> f (URec <a href="Eta-Types.html#t:Int">Int</a> a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> URec <a href="Eta-Types.html#t:Int">Int</a> a -> m (URec <a href="Eta-Types.html#t:Int">Int</a> b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => URec <a href="Eta-Types.html#t:Int">Int</a> (m a) -> m (URec <a href="Eta-Types.html#t:Int">Int</a> a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:18" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:18')"></span> <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> (URec Word)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:18" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> URec Word a -> f (URec Word b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => URec Word (f a) -> f (URec Word a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> URec Word a -> m (URec Word b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => URec Word (m a) -> m (URec Word a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:19" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:19')"></span> <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> (URec (Ptr ()))</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:19" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> URec (Ptr ()) a -> f (URec (Ptr ()) b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => URec (Ptr ()) (f a) -> f (URec (Ptr ()) a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> URec (Ptr ()) a -> m (URec (Ptr ()) b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => URec (Ptr ()) (m a) -> m (URec (Ptr ()) a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:20" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:20')"></span> <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> ((,) a)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:20" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> (a, a) -> f (a, b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a, f a) -> f (a, a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> (a, a) -> m (a, b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a, m a) -> m (a, a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:21" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:21')"></span> Ix i => <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> (Array i)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:21" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> Array i a -> f (Array i b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => Array i (f a) -> f (Array i a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> Array i a -> m (Array i b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => Array i (m a) -> m (Array i a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:22" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:22')"></span> <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> (Proxy *)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:22" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> Proxy * a -> f (Proxy * b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => Proxy * (f a) -> f (Proxy * a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> Proxy * a -> m (Proxy * b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => Proxy * (m a) -> m (Proxy * a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:23" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:23')"></span> <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> (K1 i c)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:23" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> K1 i c a -> f (K1 i c b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => K1 i c (f a) -> f (K1 i c a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> K1 i c a -> m (K1 i c b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => K1 i c (m a) -> m (K1 i c a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:24" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:24')"></span> (<a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> f, <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> g) => <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> ((:+:) f g)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:24" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> (f :+: g) a -> f ((f :+: g) b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (f :+: g) (f a) -> f ((f :+: g) a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> (f :+: g) a -> m ((f :+: g) b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (f :+: g) (m a) -> m ((f :+: g) a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:25" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:25')"></span> (<a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> f, <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> g) => <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> ((:*:) f g)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:25" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> (f :*: g) a -> f ((f :*: g) b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (f :*: g) (f a) -> f ((f :*: g) a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> (f :*: g) a -> m ((f :*: g) b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (f :*: g) (m a) -> m ((f :*: g) a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:26" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:26')"></span> (<a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> f, <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> g) => <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> ((:.:) f g)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:26" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> (f :.: g) a -> f ((f :.: g) b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (f :.: g) (f a) -> f ((f :.: g) a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> (f :.: g) a -> m ((f :.: g) b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (f :.: g) (m a) -> m ((f :.: g) a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:27" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:27')"></span> <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> (Const * m)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:27" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> Const * m a -> f (Const * m b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => Const * m (f a) -> f (Const * m a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> Const * m a -> m (Const * m b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => Const * m (m a) -> m (Const * m a)</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Traversable:Traversable:28" class="instance expander" onclick="toggleSection('i:ic:Traversable:Traversable:28')"></span> <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> f => <a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> (M1 i c f)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Traversable:Traversable:28" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> M1 i c f a -> f (M1 i c f b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> f => M1 i c f (f a) -> f (M1 i c f a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> M1 i c f a -> m (M1 i c f b)</p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Eta-Classes-Monad.html#t:Monad">Monad</a> m => M1 i c f (m a) -> m (M1 i c f a)</p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:for" class="def">for</a> :: (<a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> t, <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> m) => t a -> (a -> m b) -> m (t b) <a href="#v:for" class="selflink">#</a></p><div class="doc"><p><code><a href="Eta-Classes-Traversable.html#v:traverse">traverse</a></code> with the arguments flipped, allows to work in an imperative manner,
like with <code>foreach</code>:</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>:{
</code></strong> for [1..3] $ \i -> do
let x = i + 1
Just x
:}
Just [2,3,4]
</pre></div></div><div class="top"><p class="src"><a id="v:sequence" class="def">sequence</a> :: (<a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a> t, <a href="Eta-Classes-Applicative.html#t:Applicative">Applicative</a> m) => t (m a) -> m (t a) <a href="#v:sequence" class="selflink">#</a></p><div class="doc"><p><code><a href="Eta-Classes-Traversable.html#v:sequence">sequence</a></code> moves the context of each of the elements of
a <code><a href="Eta-Classes-Traversable.html#t:Traversable">Traversable</a></code> structure to the structure itself</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>sequence [Just 1, Just 2]
</code></strong>Just [1,2]
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>sequence [Just 1, Nothing]
</code></strong>Nothing
</pre></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.4</p></div></body></html>