<br><br><div class="gmail_quote">On Sat, Jan 1, 2011 at 8:39 PM, Henning Thielemann <span dir="ltr">&lt;<a href="mailto:lemming@henning-thielemann.de">lemming@henning-thielemann.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im"><br>
On Sat, 1 Jan 2011, Jesse Schalken wrote:<br>
<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
On Sat, Jan 1, 2011 at 8:54 AM, Felipe Almeida Lessa &lt;<a href="mailto:felipe.lessa@gmail.com" target="_blank">felipe.lessa@gmail.com</a>&gt; wrote:<br>
<br></div><div class="im">
&gt; No definition for last works with infinite lists =). <br>
<br>
<br>
Unless you make the result nullable, of course.<br>
<br>
maybeLast :: [a] -&gt; Maybe a<br>
<br>
<br>
maybeLast [] = Nothing<br>
<br>
maybeLast [x] = Just x<br>
maybeLast (_:xs) = maybeLast xs<br>
</div></blockquote>
<br>
How would this work for infinite lists?<br>
<br>
</blockquote></div><div><br></div><div>If your list is infinitely big, then reaching its end will take infinitely long. ;)</div><div><br></div><div>It will loop forever, just like `last [1...]` does.</div><div><br></div>