[racket] how to trace stack by command line tools?
On Thu, 02 Feb 2012 12:17:13 -0500, Danny Yoo wrote:
> On Thu, Feb 2, 2012 at 12:59 AM, mikeyao
> <mikeyao2 at gmail.com> wrote:
>> I'm learning scheme and code in emacs and geiser. I want to watch the
>> whole recursive process to understand well. I know drracket can do it.
>> Is it other tools(command line) that can use in emacs?
>
>
> A simple tool you can use is the 'racket/trace' library:
>
> http://docs.racket-lang.org/reference/debugging.html
>
> It'll make the execution of a function visible to you. You have to
> explicitly trace the function you want to watch.
>
>
>
> ---
>
> There's also an "errortrace" module that can help produce stack traces:
>
> http://docs.racket-lang.org/errortrace/using-errortrace.html
>
> You need to do a little work to hook it into your program. For an
> example, see the very top startup script of Eric Hanchrow's rudybot:
>
> https://github.com/offby1/rudybot/blob/master/freenode-main.rkt
>
> where you'll see that it has the line:
>
> exec racket -l errortrace --require "$0" --main -- ${1+"$@"}
>
> at the top: that's one way to hook errortrace in. ____________________
> Racket Users list:
> http://lists.racket-lang.org/users
I have tried trace library but I have a problem.
If I put my definitions in the interactive window, everything is fine.
But if I put the definitions in the definition window and then I try to
trace them, I get error "set!: cannot modify a constant: ".
Why?