On Thu, Apr 24, 2008 at 11:23 AM, &quot;Martin v. Löwis&quot; &lt;<a href="mailto:martin@v.loewis.de">martin@v.loewis.de</a>&gt; wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
This is getting off-topic, so you don&#39;t need to answer; I still ask:<br>
Why???</blockquote><div>yes I know, apologies for not mailing the right list. I&#39;ll try to do so next time. Dividing the previous result seems more logical: minutes = seconds/60, hours=minutes/60, days=hours/24, not minutes=seconds/60, hours=seconds/3600, days=seconds/86400. Also, if you do something like adding years, it&#39;s simple--you just append to the list versus change the last thing to a modulo and add another unit. If you add years, changing&nbsp; days to sidereal days would also be easier with the list. Also, you don&#39;t have to check multiplication, etc.<br>
<br>[in answer to your next question as well] The example was created to show the ability to express things with reduce, not necessarily to quickly calculate human readable time.<br>&nbsp;<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Even after knowing what this does, I still cannot easily understand<br>
how it does that. I think having reduce produce a growing value, and<br>
passing it an inhomogeneous list, is just deep abuse.</blockquote><div>I guess I am likely to agree: the function is not associative or commutative, and unable to be parallelized--one of the reasons reduce was created.<br>
&nbsp;<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">In any case, writing multiple lines is good, writing a single line only<br>
is bad.</blockquote></div>I don&#39;t agree. If it&#39;s code you want to write once and never look at again, having it out of the way can be nice.<br>