<div dir="ltr">I noticed that just after posting.<div><br></div><div>I changed to:</div><div><div>(define (length2 lst)</div><div>  (define (l-iter l count)</div><div>    (if (null? l) count</div><div>        (l-iter (cdr l) (+ count 1))))</div>
<div>  (l-iter lst 0))</div></div><div><br></div><div>Must get better at spotting obvious mistakes...</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 20 November 2013 11:27, Pierpaolo Bernardi <span dir="ltr"><<a href="mailto:olopierpa@gmail.com" target="_blank">olopierpa@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Wed, Nov 20, 2013 at 12:09 PM, Bo Gus <<a href="mailto:forumangus@gmail.com">forumangus@gmail.com</a>> wrote:<br>

> My tail recursive implementation of length is like this:<br>
><br>
> (define (length2 l)<br>
>   (define (l-iter l count)<br>
>     (if (null? 1) count<br>
>         (l-iter (cdr l) (+ count 1))))<br>
>   (l-iter l 0))<br>
<br>
</div><div class="im">> I am fairly new to scheme.  What am I doing wrong?<br>
<br>
</div>You wrote (null? 1), which is always false.  Note 1 instead of l.<br>
<br>
Cheers<br>
</blockquote></div><br></div>