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