On Sat, Jul 12, 2014 at 4:03 PM, Matt Rice <[email protected]> wrote:
> Alice seems to have hit some of these issues as well as issues with > concurrency... > > https://www.ps.uni-saarland.de/alice/manual/incompatibilities.html#matching > Thanks, Matt. Good pointer, though I think the example they give is pretty bad. If the use case is concurrent, there should have been an appropriate lock held, in which case their example can't happen. One of the updates for v 0.11 of the spec that hadn't happened yet was an update to the specification of the SWITCH statement. If you look at the grammar here: http://dev.eros-os.com/hg/bitc/file/ee6c3b5da8da/src/compiler/TransitionParser.y#l2297 You'll see that switch creates a binding, which is a local copy. This is partly to avoid the concurrency hazard that arises in Alice, and partly to avoid the problem that an unboxed union can have it's dynamic type change within a switch leg in a way that can cause problems. shap
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
