shared - i need it to be useful
Joakim
dlang at joakim.fea.st
Mon Oct 22 02:27:23 UTC 2018
On Monday, 22 October 2018 at 00:22:19 UTC, Manu wrote:
> On Sun, Oct 21, 2018 at 2:35 PM Walter Bright via Digitalmars-d
> <digitalmars-d at puremagic.com> wrote:
>>
>> On 10/21/2018 2:08 PM, Walter Bright wrote:
>> > On 10/21/2018 12:20 PM, Nicholas Wilson wrote:
>> >> Yes, but the problem you describe is arises from implicit
>> >> conversion in the other direction, which is not part of the
>> >> proposal.
>> >
>> > It's Manu's example.
>>
>> Then I don't know what the proposal is. Pieces of it appear to
>> be scattered over numerous posts, mixed in with other text,
>
> No no, they're repeated, not scattered, because I seem to have
> to keep repeating it over and over, because nobody is reading
> the text, or perhaps imaging there is a lot more text than
> there is.
I told you this is what happens with forum posts 4 days ago, yet
you didn't listen:
https://forum.dlang.org/post/fokdcnzircoiuhrhzmgv@forum.dlang.org
>> opinions, and handwavy stuff.
>
> You mean like every post in opposition which disregards the
> rules and baselessly asserts it's a terrible idea? :/
>
>> There's nothing to point to that is "the proposal".
>
> You can go back to the OP, not a single detail is changed at
> any point, but I've repeated it a whole bunch of times
> (including in direct response to your last post) and the
> summary has become more concise, but not different.
>
> 1. Shared has no read or write access to data
> 2. Functions with shared arguments are threadsafe with respect
> to
> those arguments
> a. This is a commitment that must be true in _absolute terms_
> (there
> exists discussion about the ways that neighbours must not
> undermine
> this promise)
> b. There are numerous examples demonstrating how to configure
> this
> (TL;DR: use encapsulation, and @trusted at the bottom of the
> stack)
>
> If you can find a legitimate example where those rules don't
> hold, I
> want to see it.
> But every example so far has been based on a faulty premise
> where
> those 2 simple rules were not actually applied.
Put it all together in a 2-3 page proposal elsewhere, so he
doesn't have to hunt everything out in a blizzard of forum posts.
> I responded to your faulty program directly with the correct
> program, and you haven't acknowledged it. Did you see it?
>
>> I suggest you and Manu write up a proper proposal. Something
>> that is complete, has nothing else in it, has a rationale,
>> illuminating examples, and explains why alternatives are
>> inferior.
>
> I have written this program a couple of times, including in
> direct
> response to your last sample program.
> You seem to have dismissed it... where is your response to that
> program, or my last entire post?
>
>> For examples of how to do it:
>>
>> https://github.com/dlang/DIPs/tree/master/DIPs
>>
>> Trying to rewrite the semantics of shared is not a simple
>> task, doing multithreading correctly is a minefield of "OOPS!
>> I didn't think of that!" and if anything cries out for a DIP,
>> your and Manu's proposal does.
>
> Yes, I agree it's DIP worthy. But given the almost nothing but
> overt
> hostility I've received here, why on earth would I waste my time
> writing a DIP?
> I put months into my other DIP which sits gathering dust... if
> this
> thread inspired any confidence that it would be well-received I
> would
> make the effort, but the critical reception we've seen here
> is... a
> bit strange.
> It's a 2-point proposal, the rules are **SO SIMPLE**, which is
> why I
> love it. How it can be misunderstood is something I'm having
> trouble
> understanding, and I don't know how to make it any clearer than
> I
> already have; numerous times over, including in my last reply
> to you,
> which you have ignored and dismissed it seems.
>
> Please go back and read my response to your last program.
He did not say to write a full DIP, just a proposal, so he knows
exactly what you mean, just as I said. It will require a DIP
eventually, but he didn't ask you to write one now.
More information about the Digitalmars-d
mailing list