Hi Ivan, On Tue, Jul 02 2013, Ivan Sichmann Freitas wrote:
> Hello, > > I'm unable to get traces with geiser's guile repl. Consider this > example: > > (define (square x) (* x x)) > (define (fast-expt-iter b n a count) > (if (= count n) > a > (if (< (- n count) 2) > (fast-expt-iter b n (* b a) (+ count 1)) > (fast-expt-iter b n (* a (square b)) (+ count 2))))) > > Using ,trace (fast-expt-iter 4 8 1 0) in the repl yields no output, but > in the standard guile repl it prints execution's trace. In geiser's, > even using ,option trace #t made no difference. > > Am I doing something wrong when tracing or it is tracing not supported > by guile? Not sure what you're doing wrong, but it works for me... in a Geiser REPL i get: scheme@(guile-user)> ,trace (fast-expt-iter 4 8 1 0) trace: | (#<procedure 8cc6a50> #(#<directory (guile-user) 87126c0> #f)) trace: | #(#<directory (guile-user) 87126c0> fast-expt-iter) trace: (#<procedure 8ccc9d0 at <current input>:29:7 ()>) trace: (fast-expt-iter 4 8 1 0) trace: | (square 4) trace: | 16 trace: (fast-expt-iter 4 8 16 2) trace: | (square 4) trace: | 16 trace: (fast-expt-iter 4 8 256 4) trace: | (square 4) trace: | 16 trace: (fast-expt-iter 4 8 4096 6) trace: | (square 4) trace: | 16 trace: (fast-expt-iter 4 8 65536 8) trace: 65536 scheme@(guile-user)> without modifying any option. What versions of emacs and guile are you using? Cheers, jao -- Lisp has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts. —Edsger Dijkstra