www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - DIP 1000--Scoped Pointers--Superseded

reply Mike Parker <aldacron gmail.com> writes:
As most of you surely know, DIP 1000, "Scoped Pointers", has been 
sitting in the DIP queue with the Draft status for ages and was 
significantly out of sync with the implementation. When I first 
took over as DIP Manager, the initial plan was to rewrite the DIP 
to match the implementation once the implementation had 
stabilized.

I asked Walter about it recently and he agreed that, at this 
point, the "Superseded" status would be appropriate for this DIP. 
It was introduced when an implementation of DIP 1006 was 
implemented that differed from the proposal. The circumstances 
for DIP 1000 are similar, though perhaps more extreme.

So DIP 1000 is now branded "Superseded".

https://github.com/dlang/DIPs/blob/master/DIPs/other/DIP1000.md
Mar 07
next sibling parent reply Vijay Nayar <madric gmail.com> writes:
On Thursday, 7 March 2019 at 11:30:01 UTC, Mike Parker wrote:
 As most of you surely know, DIP 1000, "Scoped Pointers", has 
 been sitting in the DIP queue with the Draft status for ages 
 and was significantly out of sync with the implementation. When 
 I first took over as DIP Manager, the initial plan was to 
 rewrite the DIP to match the implementation once the 
 implementation had stabilized.

 I asked Walter about it recently and he agreed that, at this 
 point, the "Superseded" status would be appropriate for this 
 DIP. It was introduced when an implementation of DIP 1006 was 
 implemented that differed from the proposal. The circumstances 
 for DIP 1000 are similar, though perhaps more extreme.

 So DIP 1000 is now branded "Superseded".

 https://github.com/dlang/DIPs/blob/master/DIPs/other/DIP1000.md
What is it superseded by? Is there another DIP that supersedes the concept or implementation?
Mar 07
parent reply Mike Parker <aldacron gmail.com> writes:
On Thursday, 7 March 2019 at 13:08:34 UTC, Vijay Nayar wrote:

 What is it superseded by?  Is there another DIP that supersedes 
 the concept or implementation?
The implementation supersedes the DIP.
Mar 07
parent reply Olivier FAURE <couteaubleu gmail.com> writes:
On Thursday, 7 March 2019 at 14:24:29 UTC, Mike Parker wrote:
 The implementation supersedes the DIP.
I think the question a lot of people have in mind is "Is there any plan to formally organize a discussion about the future of scoped pointers?" More specifically, are you planning a new DIP discussing the semantics of scope and return scope, ideally one that would take into account previous feedback, address concerns that DIP-1000 had originally inspired, and include an analysis of the pros and cons of -dip1000's implementation, as reported by its current users? Less formally, what I mean is that a lot of people had concerns at the time DIP-1000 was discussed; many of these concerns (including mine) weren't really addressed, and Walter's reaction gave the impression that he didn't understand them, and as a result, considered them unimportant, which led to a lot of frustration (including, if I remember correctly, Dicebot stepping down as DIP manager) and a general break in communication between Walter and the community. So, considering how important scoped pointers are to the language (betterC, webasm, video games, C++ interop, competing with Rust), I think (and I realize this is a lot to ask) that this is an area where Walter needs to bite the bullet and make a sustained effort to interact with the community and address DIP-1000's problems, whether by starting another DIP or through some other mean. If nothing else, we should probably have a "Who here uses -dip1000, and does it work for you?" thread.
Mar 11
parent Nicholas Wilson <iamthewilsonator hotmail.com> writes:
On Monday, 11 March 2019 at 22:57:33 UTC, Olivier FAURE wrote:
 On Thursday, 7 March 2019 at 14:24:29 UTC, Mike Parker wrote:
 The implementation supersedes the DIP.
I think the question a lot of people have in mind is "Is there any plan to formally organize a discussion about the future of scoped pointers?" More specifically, are you planning a new DIP discussing the semantics of scope and return scope, ideally one that would take into account previous feedback, address concerns that DIP-1000 had originally inspired, and include an analysis of the pros and cons of -dip1000's implementation, as reported by its current users? Less formally, what I mean is that a lot of people had concerns at the time DIP-1000 was discussed; many of these concerns (including mine) weren't really addressed, and Walter's reaction gave the impression that he didn't understand them, and as a result, considered them unimportant, which led to a lot of frustration (including, if I remember correctly, Dicebot stepping down as DIP manager) and a general break in communication between Walter and the community. So, considering how important scoped pointers are to the language (betterC, webasm, video games, C++ interop, competing with Rust), I think (and I realize this is a lot to ask) that this is an area where Walter needs to bite the bullet and make a sustained effort to interact with the community and address DIP-1000's problems, whether by starting another DIP or through some other mean. If nothing else, we should probably have a "Who here uses -dip1000, and does it work for you?" thread.
There will be a section of the Dlang foundation meeting at Dconf about this. I'm not very happy about the state of documentation and specification of DIP1000 and even less happy about the way it has been handled, both initially and the subsequent updates. Anyway there will be plenty of high bandwidth time to discuss this then.
Mar 11
prev sibling parent reply Chris M. <chrismohrfeld comcast.net> writes:
On Thursday, 7 March 2019 at 11:30:01 UTC, Mike Parker wrote:
 As most of you surely know, DIP 1000, "Scoped Pointers", has 
 been sitting in the DIP queue with the Draft status for ages 
 and was significantly out of sync with the implementation. When 
 I first took over as DIP Manager, the initial plan was to 
 rewrite the DIP to match the implementation once the 
 implementation had stabilized.

 I asked Walter about it recently and he agreed that, at this 
 point, the "Superseded" status would be appropriate for this 
 DIP. It was introduced when an implementation of DIP 1006 was 
 implemented that differed from the proposal. The circumstances 
 for DIP 1000 are similar, though perhaps more extreme.

 So DIP 1000 is now branded "Superseded".

 https://github.com/dlang/DIPs/blob/master/DIPs/other/DIP1000.md
Is the implementation documented anywhere?
Mar 12
parent Petar Kirov [ZombineDev] <petar.p.kirov gmail.com> writes:
On Tuesday, 12 March 2019 at 17:48:20 UTC, Chris M. wrote:
 On Thursday, 7 March 2019 at 11:30:01 UTC, Mike Parker wrote:
 As most of you surely know, DIP 1000, "Scoped Pointers", has 
 been sitting in the DIP queue with the Draft status for ages 
 and was significantly out of sync with the implementation. 
 When I first took over as DIP Manager, the initial plan was to 
 rewrite the DIP to match the implementation once the 
 implementation had stabilized.

 I asked Walter about it recently and he agreed that, at this 
 point, the "Superseded" status would be appropriate for this 
 DIP. It was introduced when an implementation of DIP 1006 was 
 implemented that differed from the proposal. The circumstances 
 for DIP 1000 are similar, though perhaps more extreme.

 So DIP 1000 is now branded "Superseded".

 https://github.com/dlang/DIPs/blob/master/DIPs/other/DIP1000.md
Is the implementation documented anywhere?
Sort of. The semantics of the `scope` and `return` attributes (no, they're not transitive type-qualifiers/constructors) are documented here: * https://dlang.org/spec/function.html#return-ref-parameters * https://dlang.org/spec/function.html#return-scope-parameters * https://dlang.org/spec/function.html#ref-return-scope-parameters Full checking is performed only for safe functions, when compiled with -preview=dip1000.
Mar 12