Hi Dan,
> I sketched an argument why extra instrumentation isn't needed in these
> two cases. If that argument is wrong (which it may well be) then we
> should be able to give examples where the pure global-variable (GV)
> design fails in the absence of such implementation. That is:
>
> (1) An example where an uninstrumented throw causes the GV
> implementation to be wrong; and
I thought that something like the following could be developed into a
counterexample:
(progn
(defun foo (x)
(try
(if (= 0 x)
(values 1 2 3)
(bar))
(:catch (e) 27)))
(defun bar ()
(foo 0)
(throw 13))
(multiple-value-bind (a b c) (foo 1)
(list a b c)))
But because of implicit returns, I don't see how.
I guess the implementation is safe in that respect.
Vladimir
_______________________________________________
parenscript-devel mailing list
[email protected]
http://lists.common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel