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

Reply via email to