[plt-scheme] Re: HTDP: So you thought us empty? and empty

From: Guenther Schmidt (gue.schmidt at web.de)
Date: Sat Dec 6 20:02:56 EST 2003

Dear Matthias,

apologies for *firing* this off.

I'm switching back and forth between PLT Scheme and Lispworks (CL) and just to make it up to you I'll show you what I just *fired* at Xanalys five minutes before:


I heard that one of the differences between Scheme and CL is that Scheme is "proper tail recursive" and CL isn't. Until today I'm not 100% what that could mean but I think I'm seeing an effect of it here.

(defun my-make-list (n)
  ((< n 1) nil)
  (t (cons nil (my-make-list (- n 1))))))

If I run this on Lispworks with let's say merely n=200 I get a stack overflow, if I run it in Scheme with +100000 I just have to wait a little, but no stack overflow.

What I really do like about CL and Scheme is the excessive use of recursion, and the parenthesis too.
Does this mean I need to switch back to iteration when dealing with lists of over 200 elements in CL?
Setting the *stack-size* to a higher level?

If so ............. STUFF THAT!!!


Matthias Felleisen wrote:

>  For list-related administrative tasks:
>  http://list.cs.brown.edu/mailman/listinfo/plt-scheme
> Use Pretty Big for now. -- Matthias
> On Saturday, December 6, 2003, at 07:20 PM, Guenther Schmidt wrote:
>>  For list-related administrative tasks:
>>  http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>> ..... in HTDP.
>> But as soon as one switches to MrED it turns out that's not even part 
>> of the standard.
>> What exactly was the point of teaching us empty? and empty ?
>> I mean I'm sure that I will find a function that is the equivalent of 
>> the above because there just has to be, but what was the point?
>> Best regards
>> Guenther
>> BTW I figure it is "null"

Posted on the users mailing list.