You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There's nothing to guarantee, on a fast-enough pair of hardware-parallelized stages, that the first-stage()'d execution will finish before the second; which means that length() could return the old length, before the affixment has completed.
Figure out how to circumvent this inside our current semantics.
The text was updated successfully, but these errors were encountered:
This is still an issue, by the way, and I've run into it with Paws.rs a little bit. I'm actually not even sure why the examples run just fine on the parallel reactor, because they shouldn't... but maybe things are just executing so quickly that it ends up working?
Well, this is exactly the thing that, if you look at it one way, stops being an issue, if we're discarding ordering anyway. All this issue is really saying is that the implicit-ordering system that sort of exists in the current spec, really provides nothing useful: if the above example is so flawed that we need to invoke responsibility to make it predictable (which, by the way, is the solution that jumps out at me) … then why not require responsibility in the first place?
There's a possibly substantial problem, pointed out by @judofyr, in this code from
examples/09.a.routine.paws
:There's nothing to guarantee, on a fast-enough pair of hardware-parallelized stages, that the first-
stage()
'd execution will finish before the second; which means thatlength()
could return the old length, before the affixment has completed.Figure out how to circumvent this inside our current semantics.
The text was updated successfully, but these errors were encountered: