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
