[racket] trace: set!: cannot mutate module-required identifier - alright .. how do you do this?
Saw this in another thread here, but the proposed solution didnt work, well
at least the way I understood it. So ..
In file db-lib.rkt I have a definition:
(provide db-exec)
(define (db-exec a) ...)
Then in racket
> (enter! "db-user.rkt")
Where db-citation.rkt has
(require "db-lib.rkt")
Now at the read-eval-print prompt I try
(enter! "db-citation.rkt")
And when I do (trace db-exec) I get the cannot mutate error. (Surely this
must be a racket 101 type problem.) So I try to include the module at the
current scope..
racket at db-citation.rkt> (require "db-lib.rkt")
racket at db-citation.rkt> (require racket/trace)
racket at db-citation.rkt> (trace db-exec)
racket at db-citation.rkt> stdin::1130: set!: cannot mutate module-required
identifier in: db-exec
ok, so that doesn't work, so I start over again. This time after reading
the thread on this list
From: Vincent St-Amour (stamourv at ccs.neu.edu)
Date: Mon Oct 10 13:49:46 EDT 2011
which concludes by saying 'put the trace in your program that should work',
so I add this to "db-citation.rkt"
(require racket/trace)
(trace db-exec)
And then at the prompt I get the following:
Welcome to Racket v5.2.1.
racket@> (enter! "db-citation.rkt")
db-citation.rkt:26:11: set!: cannot mutate module-required identifier in:
db-exec
Alright, so what is the magic incantation here that allows one to
debug/trace calls in included modules?
Thanks!
Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20150119/61839fb3/attachment.html>