<div dir="ltr"><div><div><div><div><div><div><div>You can always use the Maybe type as a follows:<br><br></div>intDiv :: Integer -&gt; Integer -&gt; Maybe Integer<br></div>intDiv _ 0 = Nothing<br></div>intDiv n m = Just (div n m)<br>
<br></div>This allows you to pattern match results of divisions:<br><br></div>example :: Integer -&gt; Integer -&gt; Maybe Integer<br></div>example n m =<br></div><div> case intDiv 4 n of<br></div><div>  Nothing -&gt; Nothing<br>
</div><div>  Just n&#39; -&gt;<br>    case intDiv 5 m of<br></div><div>      Nothing -&gt; Nothing<br></div><div>      Just m&#39; -&gt; Just (n&#39; + m&#39;)<br><br></div><div>Or even better using the do notation:<br><br>
example2 :: Integer -&gt; Integer -&gt; Maybe Integer<br></div><div>example2 n m = do<br></div><div>    n&#39; &lt;- intDiv 4 n<br></div><div>    m&#39; &lt;- intDiv 5 m<br></div><div>    return (n&#39; + m&#39;)<br><br></div>
<div>Note that example and example2 both do the same thing.<br><br></div><div>I think this is cleaner solution add NaN as a value to the Integer type.<br><br></div><div>Good luck,<br>Daniel Díaz.<br></div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Sat, Apr 13, 2013 at 12:16 PM, Алексей Егоров <span dir="ltr">&lt;<a href="mailto:electreg@list.ru" target="_blank">electreg@list.ru</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div><span style="font-family:Arial,Tahoma,Verdana,sans-serif;font-size:13px">Hello haskellers,</span><br style="font-family:Arial,Tahoma,Verdana,sans-serif;font-size:13px"><br style="font-family:Arial,Tahoma,Verdana,sans-serif;font-size:13px">
<span style="font-family:Arial,Tahoma,Verdana,sans-serif;font-size:13px">is there a reason why Integer doesn&#39;t have &#39;NaN&#39; as value?</span><br style="font-family:Arial,Tahoma,Verdana,sans-serif;font-size:13px">
<span style="font-family:Arial,Tahoma,Verdana,sans-serif;font-size:13px">I think it would be very convenient to be able to handle (1 `div` 0) as regular NaN value and not as exception.</span><br style="font-family:Arial,Tahoma,Verdana,sans-serif;font-size:13px">
<br style="font-family:Arial,Tahoma,Verdana,sans-serif;font-size:13px"><span style="font-family:Arial,Tahoma,Verdana,sans-serif;font-size:13px">Thanks.</span></div>
<br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><div dir="ltr"><div>E-mail sent by Daniel Díaz Casanueva<br></div><div><div><br>let f x = x in x<br></div></div></div>
</div>