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@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/fokdcnzircoiuhrhz...@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.