On Mon Aug 08 04:09:13 2016, elizabeth wrote: > As far as I understand Jonathan’s position on this, is that you > shouldn’t do that.
Well, you shouldn't do it without concurrency control if you want correct results. But SEGV isn't an OK failure mode. So it wants addressing up to that point (and I know how to do it, just didn't get to it yet). > If you want to push to an array from multiple > threads, you probably should use a Channel, or use Supplies with an > .act block. Or re-think your problem in a less imperative way. :-) > In any case, > having any array automatically work correctly when being pushed to > from multiple threads, is a ticket to deadlock hell (if I remember > Jonathan’s wording on this subject correctly). Well, I had many words, but the other notable issue is that it gives a false sense of security (even if array operations were to be individually safe, auto-viv would still a race, as would `while @foo { @foo.pop }`) and just leads people towards high-contention designs when a different framing of the problem would give a lower-contention design. /jnthn