On Thu, Nov 19, 2015 at 09:04:49PM -0800, thomas.lynch wrote:
> I have a related question.  I turned on error trace using the command line 
> Robby
> suggested, but it doesn't give me a trace, but rather just the call point and 
> error function.  Here is an example, the trace should be f -> gg -> g -> hh 
> -> h then bang, the error.   But instead Racket shows me f -> + bang,  "in 
> context of h".  But which 'h' it is called many times (and in a big project 
> many many times).
> 
> How do you turn on tracing?  Is there another switch, or if I go interactive 
> is there a command which will give me the trace?

I am not an expert in this area, so take this only as a possible hint.

The calls that are missing appear to tail calls, and Racket performs
tail-call optimization, so I imagine those missing functions are not
really "on the stack" at the time of the error.

I don't know that there is a way around this except to deliberately
subvert the tail-call optimization.

Otherwise, contracts would presumably help for this particular type of
error.

Hopefully someone can correct me if I'm off the mark, or maybe provide
more detail if I happen to be right.

David

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to