<div dir="ltr"><div>If you really do want to apply a function over data in a Left, there's always `Control.Arrow.left`, which is the complement of `fmap` in this case:<br><br>λ left (replicate 3) (Left "blah")<br>Left ["blah","blah","blah"]<br>λ left (replicate 3) (Right "blah")<br>Right "blah"<br><br></div>Or you can use Either's Bifunctor instance:<br><br>λ import qualified Data.Bifunctor as Bi<br>λ Bi.first reverse (Left "foo")<br>Left "oof"<br>λ Bi.first reverse (Right "bar")<br>Right "bar"<br>λ Bi.second (intersperse '!') (Left "papaya")<br>Left "papaya"<br>λ Bi.second (intersperse '!') (Right "banana")<br>Right "b!a!n!a!n!a"<br>λ Bi.bimap sort reverse (Left "hello") <br>Left "ehllo"<br>λ Bi.bimap sort reverse (Right "goodbye")<br>Right "eybdoog"<br><div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 14, 2015 at 9:58 AM, Chas Leichner <span dir="ltr"><<a href="mailto:chas@chas.io" target="_blank">chas@chas.io</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">This is meant to model errors. You want your computation to continue if everything is going all-Right, but if there is an error, you want it to stop there are report the error. This error is represented by Left constructor.</div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 14, 2015 at 9:56 AM, Bob Ippolito <span dir="ltr"><<a href="mailto:bob@redivi.com" target="_blank">bob@redivi.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">The Functor instance is defined for `Either a`, so Left is fixed. fmap only maps over Right. You'll find the same behavior for `(,) a`, e.g. `fmap (*2) (1,2) == (1,4)`.</div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On Tue, Apr 14, 2015 at 9:47 AM, Shishir Srivastava <span dir="ltr"><<a href="mailto:shishir.srivastava@gmail.com" target="_blank">shishir.srivastava@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div><div dir="ltr"><div>Hi, </div><div><br></div><div>Can someone please explain the difference in outputs of the following two expressions - </div><div><br></div><div>--------------</div><div><br></div><div><div><font face="monospace, monospace">ghci> fmap (replicate 3) (Right "blah")  </font></div><div><font face="monospace, monospace">Right ["blah","blah","blah"]  </font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">ghci> fmap (replicate 3) (Left "foo")  </font></div><div><font face="monospace, monospace">Left "foo" </font></div></div><div><font face="monospace, monospace"><br></font></div><div>---------------</div><div><br></div><div>Why does 'Right' return a list of Strings whereas 'Left' returns just a String.</div><div><br></div><div>Thanks,</div><div><div><div dir="ltr"><font color="#0b5394"><font style="background-color:rgb(255,255,255)"><font face="georgia, serif" size="2">Shishir </font></font></font><br></div></div></div>
</div>
<br></div></div>_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org" target="_blank">Beginners@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
<br></blockquote></div><br></div>
<br>_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org" target="_blank">Beginners@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
<br></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org" target="_blank">Beginners@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
<br></blockquote></div><br></div></div></div>