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

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Sat Dec 6 20:13:03 EST 2003

Good for you. Good programmers stand up for their rights, and one of 
them is tail-recursion. It's the only way to match your program's 
structure to the structure of the data. Everything else is buggy over 
the long run. -- Matthias


On Saturday, December 6, 2003, at 08:02 PM, Guenther Schmidt wrote:

>  For list-related administrative tasks:
>  http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>
> 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:
>
>
> Hi,
>
> 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)
> (cond
>  ((< 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!!!
>
> Guenther
>
>
>
> 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.