Re: DIP 1000--Scoped Pointers--Superseded

2019-03-12 Thread Petar via Digitalmars-d-announce

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.


Re: DIP 1000--Scoped Pointers--Superseded

2019-03-12 Thread Chris M. via Digitalmars-d-announce

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?


Re: DIP 1000--Scoped Pointers--Superseded

2019-03-11 Thread Nicholas Wilson via Digitalmars-d-announce

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.


Re: DIP 1000--Scoped Pointers--Superseded

2019-03-11 Thread Olivier FAURE via Digitalmars-d-announce

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.


Re: DIP 1000--Scoped Pointers--Superseded

2019-03-07 Thread Mike Parker via Digitalmars-d-announce

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.


Re: DIP 1000--Scoped Pointers--Superseded

2019-03-07 Thread Vijay Nayar via Digitalmars-d-announce

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?


DIP 1000--Scoped Pointers--Superseded

2019-03-07 Thread Mike Parker via Digitalmars-d-announce
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