Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Nicholas Wilson via Digitalmars-d-announce
On Tuesday, 26 February 2019 at 02:51:54 UTC, Andrei Alexandrescu wrote: On 2/25/19 7:23 PM, Nicholas Wilson wrote: I've said before that that comparison is weak and not particularly useful, irrespective of  its intention. That you've said it before does not make it any more correct. You're

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Manu via Digitalmars-d-announce
On Mon, Feb 25, 2019 at 9:30 PM Walter Bright via Digitalmars-d-announce wrote: > > On 2/25/2019 7:17 PM, Manu wrote: > > break my DIP > > The review process is not about "why not add this feature" , but "why should > we > have this feature". > > Additionally, it is most assuredly about finding

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Walter Bright via Digitalmars-d-announce
On 2/25/2019 7:17 PM, Manu wrote: break my DIP The review process is not about "why not add this feature" , but "why should we have this feature". Additionally, it is most assuredly about finding flaws in it. Isn't it best to find out the flaws before going further with it than finding

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Walter Bright via Digitalmars-d-announce
On 2/25/2019 7:17 PM, Manu wrote: I'm literally astonished that it's been agreed it's fine that a copy constructor can mutate the source... and I can't help but draw contrast to the exact same sorts of arguments that people were using to break my DIP, Mutating the lvalue ref was not the issue,

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Manu via Digitalmars-d-announce
On Mon, Feb 25, 2019 at 8:10 PM Donald via Digitalmars-d-announce wrote: > > On Tuesday, 26 February 2019 at 03:17:53 UTC, Manu wrote: > > ... > > It's funny that you keep wasting time posting/replying instead of > fixing your DIP. An hour typing rubbish on the forum is nothing compared to

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Donald via Digitalmars-d-announce
On Tuesday, 26 February 2019 at 03:17:53 UTC, Manu wrote: ... It's funny that you keep wasting time posting/replying instead of fixing your DIP. By the way like the other guy, I found disrespectful (With RazvanN7) use this topic as argument for your rejected DIP, instead to debate about

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Walter Bright via Digitalmars-d-announce
On 2/25/2019 3:05 PM, Olivier FAURE wrote: On Monday, 25 February 2019 at 22:45:38 UTC, Olivier FAURE wrote: For the same reason C++'s std::shared_pointer uses a non-const copy constructor. Wait, no, I just checked, std::shared_pointer's copy constructor is const, even though it changes

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Walter Bright via Digitalmars-d-announce
On 2/25/2019 10:44 AM, Andrei Alexandrescu wrote: On 2/25/19 1:39 PM, Jacob Carlborg wrote: On 2019-02-25 17:31, Andrei Alexandrescu wrote: The proposers (Razvan and myself) and Walter (the reviewer) do not know how to make DIP 1018 better. That shouldn't justify accepting a DIP that might

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Walter Bright via Digitalmars-d-announce
On 2/25/2019 6:55 PM, Andrei Alexandrescu wrote: If there's something else I can do to atone, please let me know. Pistols at dawn? Or better yet, why don't I buy both of you a beer at DConf?

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Walter Bright via Digitalmars-d-announce
On 2/25/2019 8:22 AM, H. S. Teoh wrote: I disagree. Logical const means the outside world can't tell that the object has changed, because only a constant value is ever seen from outside. This is the basis of lazy initialization (which is part of the concept of lazy evaluation), an important

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Walter Bright via Digitalmars-d-announce
On 2/25/2019 7:45 AM, Atila Neves wrote: I have no idea what people are talking about when they mention on this forum that D's const is useless. Nearly every function parameter in my code is `in`. Nearly every variable declaration uses `const` instead of `auto`, the main exception being when a

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Walter Bright via Digitalmars-d-announce
On 2/25/2019 3:09 PM, Olivier FAURE wrote: Yes, this DIP was fast-tracked. Yes, this can feel unfair. And yet, it makes sense that it was fast-tracked, because it fits a priority of the project owners (C++ interoperability + reference counting) and project owners are allowed to have

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Walter Bright via Digitalmars-d-announce
On 2/25/2019 6:26 PM, Andrei Alexandrescu wrote: I haven't heard the final decision from Walter yet, but I proposed that in the interest of quality, we will go through the customary two weeks reviews with DIP 1018. I approved it.

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Manu via Digitalmars-d-announce
On Mon, Feb 25, 2019 at 3:10 PM Olivier FAURE via Digitalmars-d-announce wrote: > > On Monday, 25 February 2019 at 16:00:54 UTC, Andrei Alexandrescu > wrote: > > Thorough feedback has been given, likely more so than for any > > other submission. A summary for the recommended steps to take > > can

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Andrei Alexandrescu via Digitalmars-d-announce
On 2/25/19 9:26 PM, Manu wrote: On Mon, Feb 25, 2019 at 12:20 PM Andrei Alexandrescu via Digitalmars-d-announce wrote: On 2/25/19 2:41 PM, bachmeier wrote: On Monday, 25 February 2019 at 19:24:55 UTC, Mike Parker wrote: From the process document: “the DIP Manager or the Language

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Andrei Alexandrescu via Digitalmars-d-announce
On 2/25/19 7:23 PM, Nicholas Wilson wrote: There are similarities and differences between our DIP process and paper submission reviews at conferences and journals everywhere; one key similarity is that the submitters are on hook for providing convincing submissions, whereas reviewers are not

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Andrei Alexandrescu via Digitalmars-d-announce
On 2/25/19 6:09 PM, Olivier FAURE wrote: Yes, this DIP was fast-tracked. Yes, this can feel unfair. And yet, it makes sense that it was fast-tracked, because it fits a priority of the project owners (C++ interoperability + reference counting) and project owners are allowed to have priorities.

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Manu via Digitalmars-d-announce
On Mon, Feb 25, 2019 at 12:20 PM Andrei Alexandrescu via Digitalmars-d-announce wrote: > > On 2/25/19 2:41 PM, bachmeier wrote: > > On Monday, 25 February 2019 at 19:24:55 UTC, Mike Parker wrote: > > > >> From the process document: > >> > >> “the DIP Manager or the Language Maintainers may allow

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Nicholas Wilson via Digitalmars-d-announce
On Tuesday, 26 February 2019 at 00:23:19 UTC, Nicholas Wilson wrote: On Monday, 25 February 2019 at 16:00:54 UTC, Andrei Alexandrescu wrote: * etc. etc. etc. That is a good start, though I suspect that the list is not complete given the last item. Oh, it keeps going.

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Nicholas Wilson via Digitalmars-d-announce
On Monday, 25 February 2019 at 20:23:58 UTC, Andrei Alexandrescu wrote: On 2/25/19 3:23 PM, Jacob Carlborg wrote: On 2019-02-25 20:24, Mike Parker wrote:  From the process document: “the DIP Manager or the Language Maintainers may allow for exceptions which waive requirements or

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Nicholas Wilson via Digitalmars-d-announce
On Monday, 25 February 2019 at 16:00:54 UTC, Andrei Alexandrescu wrote: On 2/25/19 1:06 AM, Nicholas Wilson wrote: On Monday, 25 February 2019 at 02:56:13 UTC, Walter Bright wrote: Your DIP, and nobody else is going to do it, so it falls to me. It will be reviewed at Dconf, please make sure

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Jonathan M Davis via Digitalmars-d-announce
On Monday, February 25, 2019 4:09:55 PM MST Olivier FAURE via Digitalmars-d- announce wrote: > Yes, this DIP was fast-tracked. Yes, this can feel unfair. And > yet, it makes sense that it was fast-tracked, because it fits a > priority of the project owners (C++ interoperability + reference >

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Olivier FAURE via Digitalmars-d-announce
On Monday, 25 February 2019 at 22:45:38 UTC, Olivier FAURE wrote: For the same reason C++'s std::shared_pointer uses a non-const copy constructor. Wait, no, I just checked, std::shared_pointer's copy constructor is const, even though it changes shared data. Ugh, that's just wrong. (I kind

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Olivier FAURE via Digitalmars-d-announce
On Monday, 25 February 2019 at 16:00:54 UTC, Andrei Alexandrescu wrote: Thorough feedback has been given, likely more so than for any other submission. A summary for the recommended steps to take can be found here: https://forum.dlang.org/post/q2u429$1cmg$1...@digitalmars.com It is not

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Olivier FAURE via Digitalmars-d-announce
On Monday, 25 February 2019 at 20:41:58 UTC, Paolo Invernizzi wrote: Honestly, I've not understood the rationale or the covered use case in letting the copy ctor mutate the ref source parameters... Sincerely, without polemical intent. - P For the same reason C++'s std::shared_pointer uses a

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Paul Backus via Digitalmars-d-announce
On Monday, 25 February 2019 at 20:41:58 UTC, Paolo Invernizzi wrote: Honestly, I've not understood the rationale or the covered use case in letting the copy ctor mutate the ref source parameters... Sincerely, without polemical intent. - P Because D's const is transitive, you can't

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Andrei Alexandrescu via Digitalmars-d-announce
On 2/25/19 3:41 PM, Paolo Invernizzi wrote: On Monday, 25 February 2019 at 20:23:58 UTC, Andrei Alexandrescu wrote: On 2/25/19 3:23 PM, Jacob Carlborg wrote: On 2019-02-25 20:24, Mike Parker wrote:  From the process document: “the DIP Manager or the Language Maintainers may allow for

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Paolo Invernizzi via Digitalmars-d-announce
On Monday, 25 February 2019 at 20:23:58 UTC, Andrei Alexandrescu wrote: On 2/25/19 3:23 PM, Jacob Carlborg wrote: On 2019-02-25 20:24, Mike Parker wrote:  From the process document: “the DIP Manager or the Language Maintainers may allow for exceptions which waive requirements or

sumtype 0.8.3

2019-02-25 Thread Paul Backus via Digitalmars-d-announce
SumType is a generic sum type for modern D. It is meant as an alternative to `std.variant.Algebraic`. Features: - Pattern matching, including support for structural matching (★) - Self-referential types, using `This` - Works with pure, @safe, @nogc, and immutable (★) - Zero runtime

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Jacob Carlborg via Digitalmars-d-announce
On 2019-02-25 20:24, Mike Parker wrote: From the process document: “the DIP Manager or the Language Maintainers may allow for exceptions which waive requirements or responsibilities at their discretion.” Having it documented doesn't make it less flawed. -- /Jacob Carlborg

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Andrei Alexandrescu via Digitalmars-d-announce
On 2/25/19 3:23 PM, Jacob Carlborg wrote: On 2019-02-25 20:24, Mike Parker wrote:  From the process document: “the DIP Manager or the Language Maintainers may allow for exceptions which waive requirements or responsibilities at their discretion.” Having it documented doesn't make it less

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Andrei Alexandrescu via Digitalmars-d-announce
On 2/25/19 2:41 PM, bachmeier wrote: On Monday, 25 February 2019 at 19:24:55 UTC, Mike Parker wrote: From the process document: “the DIP Manager or the Language Maintainers may allow for exceptions which waive requirements or responsibilities at their discretion.” If you were to write a

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread bachmeier via Digitalmars-d-announce
On Monday, 25 February 2019 at 19:24:55 UTC, Mike Parker wrote: From the process document: “the DIP Manager or the Language Maintainers may allow for exceptions which waive requirements or responsibilities at their discretion.” If you were to write a DIP for a feature they think important

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Andrei Alexandrescu via Digitalmars-d-announce
On 2/25/19 2:24 PM, Mike Parker wrote: On Monday, 25 February 2019 at 18:51:17 UTC, Jacob Carlborg wrote: On 2019-02-24 11:46, Mike Parker wrote: Walter and Andrei have requested the Final Review round be dropped for DIP 1018, "The Copy Constructor", and have given it their formal approval.

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Mike Parker via Digitalmars-d-announce
On Monday, 25 February 2019 at 18:51:17 UTC, Jacob Carlborg wrote: On 2019-02-24 11:46, Mike Parker wrote: Walter and Andrei have requested the Final Review round be dropped for DIP 1018, "The Copy Constructor", and have given it their formal approval. They consider copy constructors a

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Jacob Carlborg via Digitalmars-d-announce
On 2019-02-24 11:46, Mike Parker wrote: Walter and Andrei have requested the Final Review round be dropped for DIP 1018, "The Copy Constructor", and have given it their formal approval. They consider copy constructors a critical feature for the language. Walter provided feedback on Razvan's

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Andrei Alexandrescu via Digitalmars-d-announce
On 2/25/19 1:39 PM, Jacob Carlborg wrote: On 2019-02-25 17:31, Andrei Alexandrescu wrote: The proposers (Razvan and myself) and Walter (the reviewer) do not know how to make DIP 1018 better. That shouldn't justify accepting a DIP that might contain problems. Definitely. But of course, if

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Jacob Carlborg via Digitalmars-d-announce
On 2019-02-25 17:31, Andrei Alexandrescu wrote: The proposers (Razvan and myself) and Walter (the reviewer) do not know how to make DIP 1018 better. That shouldn't justify accepting a DIP that might contain problems. But of course, if you don't think there are any problems. -- /Jacob

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Andrei Alexandrescu via Digitalmars-d-announce
On 2/24/19 4:02 PM, Manu wrote: On Sun, Feb 24, 2019 at 2:50 AM Mike Parker via Digitalmars-d-announce wrote: Walter and Andrei have requested the Final Review round be dropped for DIP 1018, "The Copy Constructor", and have given it their formal approval. They consider copy constructors a

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread H. S. Teoh via Digitalmars-d-announce
On Sun, Feb 24, 2019 at 08:59:49PM -0800, Walter Bright via Digitalmars-d-announce wrote: [...] > An interesting manifestation of this uselessness in C++ is the notion > of "logical const", where a supposedly "const" value is lazily set to > a value upon first use. I.e. it isn't const, it's just

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Andrei Alexandrescu via Digitalmars-d-announce
On 2/25/19 10:45 AM, Atila Neves wrote: The *only* problem I have with const in D is that const values can't be copied, which is silly. I'd expect DIP1018 to fix that. Affirmative. It was tricky.

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Andrei Alexandrescu via Digitalmars-d-announce
On 2/25/19 1:06 AM, Nicholas Wilson wrote: On Monday, 25 February 2019 at 02:56:13 UTC, Walter Bright wrote: Your DIP, and nobody else is going to do it, so it falls to me. It will be reviewed at Dconf, please make sure you have an _accurate_ summary of your criticisms of the DIP ready for

Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Atila Neves via Digitalmars-d-announce
On Monday, 25 February 2019 at 00:38:02 UTC, Walter Bright wrote: The problem with C++ const is it only goes one level, i.e. what I call "head-const". If you pass a T to a const parameter, anything T references remains mutable. It's more of a suggestion than anything reliable or enforceable.