Panicz Maciej Godek <godek.mac...@gmail.com> writes: > I've checked this with other implementations. Racket, Gambit and Biwa > Scheme were equally uninformative. Kawa's backtrace was a nightmare to > me, but perhaps someone with more knowledge would be able to infer the > actual location of the error. Actually, the only implementation that > exposed the exact location was Chicken. It proves that there must be a > way to track this information in spite of TCO. > It depends on just how much information you want to keep around. Obviously, most of us don't want a full stack trace for a (let loop () (if ... (loop))). There would simply be no (legible) way in Scheme to write an infinite loop without proper tail recursion.
I'm not about to argue either side of this, but I will note that I added a wishlist item for improving backtraces to the tracker a while back, and it's free for anyone who wants to, to hack on. See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11215. (As for Racket, I suspect you would get better info in the gui than the console version.) -- Ian Price -- shift-reset.com "Programming is like pinball. The reward for doing it well is the opportunity to do it again" - from "The Wizardy Compiled"