AmaCode
AmaCode

Reputation: 143

Unbound variable 'trace'

I'm trying to use the guile function trace, but every time I do, I get a possible unbound variable.

scheme@(guile-user)> (define (fact1 n)
(if (zero? n) 1
(* n (fact1 (- n 1)))))
scheme@(guile-user)> (trace fact1)
;;; <stdin>:4:0: warning: possibly unbound variable `trace'
<unnamed port>:4:0: In procedure #<procedure 10e4080c0 at <current input>:4:0 ()>:
<unnamed port>:4:0: In procedure module-lookup: Unbound variable: trace

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
scheme@(guile-user) [1]> 

I was wondering if anyone knows why this is not working.

Upvotes: 3

Views: 1134

Answers (1)

uselpa
uselpa

Reputation: 18937

Use ,trace:

GNU Guile 2.0.12
Copyright (C) 1995-2016 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guile-user)> (define (fact1 n)
... (if (zero? n) 1
... (* n (fact1 (- n 1)))))
scheme@(guile-user)> ,trace (fact1 5)
trace: |  (#<procedure 110221480> #(#<directory (guile-user) 10f9fabd0> #f))
trace: |  #(#<directory (guile-user) 10f9fabd0> fact1)
trace: (#<procedure 11022e1e0 at <current input>:2:0 ()>)
trace: (fact1 5)
trace: |  (fact1 4)
trace: |  |  (fact1 3)
trace: |  |  |  (fact1 2)
trace: |  |  |  |  (fact1 1)
trace: |  |  |  |  |  (fact1 0)
trace: |  |  |  |  |  1
trace: |  |  |  |  1
trace: |  |  |  2
trace: |  |  6
trace: |  24
trace: 120

Upvotes: 4

Related Questions