On Thu, 2008-07-10 at 14:57 -0400, Jonathan S. Shapiro wrote:
> Does anybody see a way to justify the arm/disarm mechanism in the purely
> functional BitC subset?

Let me re-state that question.

The try/catch block mechanism has precisely the same problem. The reason
that state is okay in maintaining the catch block chain is that there
exists a deterministic rewrite of any program using try/catch to an
equivalent program that does NOT use try/catch. It isn't a pretty
rewrite, but the existence of the rewrite justifies try/catch as legal
in a purely functional program.

But the reason that this rewrite works is that the current catch block
pointer cannot be captured. Unfortunately, the labeled block construct
CAN be captured, which is why I am very skeptical that any analogous
rewrite can exist.

shap

_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to