[plt-scheme] Stylistic (I hope!) question regarding driver loop
On Jan 21, 2006, at 2:06 PM, Gregory Woodhouse wrote:
>> Greg, try using syntax-check on this program in DrScheme:
>>
>> (define (f x) (letrec ([x x]) (f 1)))
>> (f 1)
>>
>> (define (g x) (letrec ([x (g 1)]) x))
>> (g 1)
>>
>> Then notice the purple arrow, when you
>> move the arrow over f.
>>
>> Then try the same with g.
>>
>> --
>
> So...you're saying my code is bad because it invokes a function
> bound by a letrec in the body of the letrec (like the x in g)?
>
I'm sorry, that's a dumb question (on my part). I thought that the
point of the above is that x occurs after the recursive call to g,
making it non-tail-recursive. Maybe I missed the point.
===
Gregory Woodhouse
gregory.woodhouse at sbcglobal.net
"A hero is no braver than an ordinary
man, but he is brave five minutes longer."
-- Ralph Waldo Emerson