At Sun, 26 Jul 2020 20:21:56 -0700, Sorawee Porncharoenwase wrote:
> I have been toying with another way to instrument the code. It roughly
> expands to:
>
> (define-syntax-rule (wrap f)
> (call-with-immediate-continuation-mark
>'errortrace-k
>(λ (k)
> (let ([ff (thunk f)])
>
Thinking about your example again, is the idea here to preserve the
first (so perhaps outermost) continuation mark information, instead of
the innermost continuation mark? I don't yet fully understand how this
approach interacts with the evaluation of tail position expressions,
but keeping both see
By changing (fact 5) to (* 2 (fact 5)), the stack information becomes
/: division by zero
errortrace...:
/Volumes/ramdisk/fact.rkt:6:17: (/ 1 0)
/Volumes/ramdisk/fact.rkt:7:12: (* (loop (sub1 n)) n)
/Volumes/ramdisk/fact.rkt:7:12: (* (loop (sub1 n)) n)
/Volumes/ramdisk/fact.rkt:7:12:
(By "integrating" with the new strategy, I meant having two keys: one for
the new strategy and one for the old strategy. I can see that the first
entry of the old strategy is useful, and it's missing in the new strategy).
On Sun, Jul 26, 2020 at 8:21 PM Sorawee Porncharoenwase <
sorawee.pw...@gmai
4 matches
Mail list logo