<br><div><span class="gmail_quote">On 9/11/07, <b class="gmail_sendername">Don Stewart</b> &lt;<a href="mailto:dons@galois.com">dons@galois.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
byorgey:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;On 9/11/07, PR Stanley &lt;[1]prstanley@<a href="http://ntlworld.com">ntlworld.com</a>&gt; wrote:<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hi<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;take 1000 [1..3] still yields [1,2,3]<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I thought it was supposed to return an error.
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Any ideas?<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thanks, Paul<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;If for some reason you want a version that does return an error in that<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;situation, you could do something like the following:<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;take&#39; n _ | (n &lt;= 0) = []
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;take&#39; n [] | (n &gt; 0) = error &quot;take&#39;: list too short&quot;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | otherwise = []<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;take&#39; n (x:xs) = x : take&#39; (n-1) xs<br><br>And we&#39;d call it unsafeTake, just like unsafeFromJust and unsafeTail :-)
<br><br>-- Don<br></blockquote></div><br>Hmm, that&#39;s funny, I don&#39;t recall ever hearing of those functions... =)<br><br>ooo, Don has a shiny new e-mail address!<br><br>-Brent<br>