<div><div><font class="Apple-style-span" face="&#39;courier new&#39;" size="2"><span class="Apple-style-span" style="font-size: 10px;"><div><font class="Apple-style-span" face="arial" size="3"><span class="Apple-style-span" style="font-size: 13px;">I think I understand the reason why, but still I find it disturbing that in this first expression, x has 6 elements:</span></font></div>
<div><font class="Apple-style-span" face="arial" size="3"><span class="Apple-style-span" style="font-size: 13px;"><br></span></font></div><div><span class="Apple-style-span" style="font-size: small;"><font class="Apple-style-span" face="arial, helvetica, sans-serif">Prelude&gt; let x = [0,60..359]; y = [0,60..359] in (x, y, map degreesToRadians y)</font></span></div>
<div><span class="Apple-style-span" style="font-size: small;"><font class="Apple-style-span" face="arial, helvetica, sans-serif">([0,60,120,180,240,300],[0.0,60.0,120.0,180.0,240.0,300.0,360.0],[0.0,1.0471975333333332,2.094395066</font></span></div>
<div><span class="Apple-style-span" style="font-size: small;"><font class="Apple-style-span" face="arial, helvetica, sans-serif">6666664,3.1415926,4.188790133333333,5.235987666666667,6.2831852])</font></span></div><div><font class="Apple-style-span" face="arial" size="3"><span class="Apple-style-span" style="font-size: 13px;"><br>
</span></font></div><div><font class="Apple-style-span" face="arial" size="3"><span class="Apple-style-span" style="font-size: 13px;">But if I add a comparison to y, x now has 7 elements:</span></font></div><div><font class="Apple-style-span" face="arial" size="3"><span class="Apple-style-span" style="font-size: 13px;"><br>
</span></font></div><div><span class="Apple-style-span" style="font-size: small;"><font class="Apple-style-span" face="arial, helvetica, sans-serif">Prelude&gt; let x = [0,60..359]; y = [0,60..359] in (x, y, map degreesToRadians y, <b>x==y</b>)</font></span></div>
<div><span class="Apple-style-span" style="font-size: small;"><font class="Apple-style-span" face="arial, helvetica, sans-serif">([0.0,60.0,120.0,180.0,240.0,300.0,360.0],[0.0,60.0,120.0,180.0,240.0,300.0,360.0],[0.0,1.0471975333</font></span></div>
<div><span class="Apple-style-span" style="font-size: small;"><font class="Apple-style-span" face="arial, helvetica, sans-serif">333332,2.0943950666666664,3.1415926,4.188790133333333,5.235987666666667,6.2831852],True)</font></span></div>
<div><font class="Apple-style-span" face="arial" size="3"><span class="Apple-style-span" style="font-size: 13px;"><br></span></font></div><div><font class="Apple-style-span" face="arial" size="3"><span class="Apple-style-span" style="font-size: 13px;">I. J. Kennedy</span></font></div>
<div><font class="Apple-style-span" face="arial" size="3"><span class="Apple-style-span" style="font-size: 13px;"><br></span></font></div></span></font></div><div><br></div></div><div class="gmail_quote">On Wed, Jun 17, 2009 at 4:55 PM, Alan Mock <span dir="ltr">&lt;<a href="mailto:docmach@gmail.com" target="_blank">docmach@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">That&#39;s because [0,60,..359] is not the same as [0,60..359] :: [Double].  So what you&#39;re passing to degreesToRadians is [0.0,60.0,120.0,180.0,240.0,300.0,360.0] and not [0,60,120,180,240,300].  I don&#39;t know why the Double version adds another number, though.<div>

<div></div><div><br>
<br>
On Jun 17, 2009, at 4:35 PM, Aaron MacDonald wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
For some reason, the map function returns a list that has one more element than my input list.<br>
<br>
My input list is a range defined by [0, 60..359] (should translate into [0,60,120,180,240,300]).<br>
<br>
The function I&#39;m giving to map is defined this way:<br>
-----<br>
degreesToRadians :: Double -&gt; Double<br>
degreesToRadians degrees = degrees * (pi / 180)<br>
-----<br>
<br>
This is how I&#39;m calling map overall:<br>
-----<br>
&gt; map degreesToRadians [0,60..359]<br>
[0.0,1.0471975511965976,2.0943951023931953,3.141592653589793,4.1887902047863905,5.235987755982989,6.283185307179586]<br>
-----<br>
<br>
As you can hopefully see, there are seven elements instead of six. Getting the length confirms this:<br>
-----<br>
&gt; length [0,60..359]<br>
6<br>
&gt; length $ map degreesToRadians [0,60..359]<br>
7<br>
-----<br>
<br>
I do not seem to get this behaviour with the length if I either substitute the degreesToRadians function or substitute the [0,60..359] range.<br>
<br>
P.S. Is there a built-in function to convert degrees to radians and vice-versa?<br>
_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org" target="_blank">Beginners@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/beginners" target="_blank">http://www.haskell.org/mailman/listinfo/beginners</a><br>
</blockquote>
<br>
_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org" target="_blank">Beginners@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/beginners" target="_blank">http://www.haskell.org/mailman/listinfo/beginners</a><br>
</div></div></blockquote></div><br>