> but continuation marks are carefully designed to avoid breaking tail > recursion (they let you understand the tail behavior of your program, > more accurately) so that's why you see only one binding.
Robby, Yes. That is exactly what happened. On further inspection, I was using with-continuation-mark in two different contexts. In the first context, successive calls to w-c-m were tail recursive and current-continuation-mark-set->list returned a single binding to the key. In the other context, successive calls to w-c-m were **not** tail-recursive and continuation-mark-set->list returned multiple bindings to [a different] key. This code was implemented first and I thought it was 'normal'. I do think you alerted me to the tail-recursive w-c-m behavior back at Christmas-time when we were discussing replacing dynamic-wind with with-continuation-mark to support Jay's stateless web language (#lang web-server). >>they let you understand the tail behavior of your program Y. this unintentionally demonstrated that the most deeply nested portion of the project is tail-recursive. Also, the new _with-continuation-marks_ syntax is highly useful. Thanks for all the help and generosity. R./ Zack ____________________ Racket Users list: http://lists.racket-lang.org/users