[gambit-list] Debugging

Christian christian at pflanze.mine.nu
Sat Jan 14 16:56:38 EST 2006


At 15:39 Uhr -0600 14.01.2006, Bradley Lucier wrote:
>On Jan 14, 2006, at 3:15 PM, Christian wrote:
>>	(parameterize ((generate-proper-tail-calls true?))

..

>Doesn't
>
>(proper-tail-calls-set! #f)
>
>do what you want?  Do this before loading interpreted code you don't 
>want to use tail calls.

Sure, that's what the above code is using underneath; Marc has 
changed the proper-tail-calls-set! function to be a 
generate-proper-tail-calls parameter.

What I want is change the tco property without having to reload code 
from a file. And if it would be acting on the function (the lambda) 
itself instead of on the binding, it would also change that reference 
which has been taken by another part of the running system. (Am I 
still explaining myself complicated? Imagine:
   (define (fun a b) .....)
   (define (make-g f) (lambda (x) (f x)))
   (define g (make-g fun))
Now reload fun with tco disabled (or apply my 
function-proper-tail-calls-set! operation). It will not change the 
workings of the version of fun trapped in g. But you might actually 
want that.)

Ah by the way: I've forgotten one thing on my debugging "wishlist":

- being able to set break points into a running program. (And an 
emacs interface for it.)

BTW if given the ability to read the souce code with location 
information from an interpreted function, one could also compile that 
function into the running system, like you can with common lisp 
systems (I may then add the functionality for that to chjmodule).

Christian.



More information about the Gambit-list mailing list