<div dir="ltr">I know you're asking for a function that will either return an Int or a (Int, Int). However, in my limited experience, I haven't seen Ints used as error codes in Haskell. Typically, I see something like the following:<div><br></div><div><span style="font-size:12.8px">checkNum3 :: Int -> Int -> Either String (Int,Int)</span><br style="font-size:12.8px"><span style="font-size:12.8px">checkNum3 a b = if check a b</span></div><div><span style="font-size:12.8px">    then Right (a, b)</span><br></div><div><span style="font-size:12.8px">    else Left "Error: something happened"</span></div><div><br></div><div>Then you can use a function like (either error id) to either extract the (Int, Int) value or to raise the error with the message.</div><div><br></div><div>The (either error id) function will look at an Either value. If it's a Left value, it will call error on that value -- so (error "Error: something happened"). If it's a Right value, it will call id on that value -- so id (a, b) which evaluates to (a, b).</div><div><br></div><div>I usually use this setup if I lazily parse a huge file of text data, where each line has some constraint that makes the file "valid" or "invalid". I end up with a long list of Either String (Int, Int)s, and I then map (either error id) over the list.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Apr 23, 2016 at 2:05 PM, Imants Cekusins <span dir="ltr"><<a href="mailto:imantc@gmail.com" target="_blank">imantc@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Hello Matt,</p>
<p dir="ltr">Either Int (Int,Int) might work.</p>
<p dir="ltr">Left ... by convention indicates 'other' result.</p>
<br>_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org">Beginners@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
<br></blockquote></div><br></div>