April 28, 2017
On Friday, 28 April 2017 at 20:13:58 UTC, Moritz Maxeiner wrote:
> Both of these, however, show only that he doesn't seem to personally like multiple pointer types (and consequently doesn't seem to have any interest in working on them himself); that's not the same as him claiming that it "is a disaster" (in general, which is what you were implying).

There are other threads. This is a recurring topic...

> What you consider not pointless is your business, again, but if you don't try to get it in the core language, you have no foundation to complain that's it's not in there.

There are no example I know of where something has gone into the D language that is going against the aesthetics Walter value... Which isn't surprising.

There are also few examples of new features going in at the language level based on external DIPs. Do you have any good examples? (Not standard lib, but language features).

April 28, 2017
On Friday, 28 April 2017 at 20:21:34 UTC, Ola Fosheim Grøstad wrote:
> On Friday, 28 April 2017 at 20:13:58 UTC, Moritz Maxeiner wrote:
>> Both of these, however, show only that he doesn't seem to personally like multiple pointer types (and consequently doesn't seem to have any interest in working on them himself); that's not the same as him claiming that it "is a disaster" (in general, which is what you were implying).
>
> There are other threads. This is a recurring topic...

I am aware...

>
>> What you consider not pointless is your business, again, but if you don't try to get it in the core language, you have no foundation to complain that's it's not in there.
>
> There are no example I know of where something has gone into the D language that is going against the aesthetics Walter value... Which isn't surprising.
>
> There are also few examples of new features going in at the language level based on external DIPs. Do you have any good examples? (Not standard lib, but language features).

I myself know of no examples where people have actually done the work up to and including the point where there were no technical issues left and were then rejected.
April 28, 2017
On Friday, 28 April 2017 at 20:21:34 UTC, Ola Fosheim Grøstad wrote:
> On Friday, 28 April 2017 at 20:13:58 UTC, Moritz Maxeiner wrote:
>> Both of these, however, show only that he doesn't seem to personally like multiple pointer types (and consequently doesn't seem to have any interest in working on them himself); that's not the same as him claiming that it "is a disaster" (in general, which is what you were implying).
>
> There are other threads. This is a recurring topic...
>

To be fair, C++ effectively has multiple pointer types too with raw pointers, unique_ptr, shared_ptr, and weak_ptr. However, each of the extra ones has a unique purpose and are opt-in. As a result, people happily use them when it makes their lives easier.

By contrast, C++/CLI (I'm more familiar with that than managed C++) has pointer to managed heap and pointer to unmanaged heap. The concepts overlap more.
April 28, 2017
On Friday, 28 April 2017 at 19:41:15 UTC, Ola Fosheim Grøstad wrote:
> On Friday, 28 April 2017 at 19:41:15 UTC, Ola Fosheim Grøstad wrote:
> «Back in the old DOS days, there were multiple pointer types (near and far). Programmers put up with that because it was the only way, but they HATED HATED HATED it.»

It's true, we did. It was awful.

Atila
April 28, 2017
On Fri, Apr 28, 2017 at 09:50:49PM +0000, Atila Neves via Digitalmars-d wrote:
> On Friday, 28 April 2017 at 19:41:15 UTC, Ola Fosheim Grøstad wrote:
> > On Friday, 28 April 2017 at 19:41:15 UTC, Ola Fosheim Grøstad wrote: «Back in the old DOS days, there were multiple pointer types (near and far). Programmers put up with that because it was the only way, but they HATED HATED HATED it.»
> 
> It's true, we did. It was awful.
[...]

I remember working with that.  It was a royal PITA.


T

-- 
Those who've learned LaTeX swear by it. Those who are learning LaTeX swear at it. -- Pete Bleackley
April 28, 2017
On Friday, 28 April 2017 at 21:21:13 UTC, jmh530 wrote:
> To be fair, C++ effectively has multiple pointer types too with raw pointers, unique_ptr, shared_ptr, and weak_ptr. However, each of the extra ones has a unique purpose and are opt-in. As a result, people happily use them when it makes their lives easier.

Yes, they are not language types though, so no special effect on the compiler or runtime. The language types are pointers, &references and &&references.

> By contrast, C++/CLI (I'm more familiar with that than managed C++) has pointer to managed heap and pointer to unmanaged heap. The concepts overlap more.

Yes, and I assume those are language types so that the compiler and runtime can take advantage of it?

April 29, 2017
On 28.04.2017 17:43, Moritz Maxeiner wrote:
> On Friday, 28 April 2017 at 14:59:46 UTC, Ola Fosheim Grøstad wrote:
>> On Friday, 28 April 2017 at 09:40:07 UTC, Moritz Maxeiner wrote:
>>> I'm sorry, but that's just plain wrong. D does not have ownership
>>> pointers because nobody that wants them has stepped up and
>>> 1) Done the work of drafting an informal proposal that *actually
>>> deals with _all_ of the issues involved*
>>
>> Wrong. This has been discussed and hashed out to death over and over
>> again. The solutions are on the table.
>
> No. Every single thread I read in the last couple of years ended with
> Walter pointing out issues that need to be "hashed out" and then nobody
> doing it.

This is not the full story though. Among Walter's constraints for an acceptable solution always were:

1. cannot add new syntax

2. cannot add polymorphism to the type system (because it is "hard to understand")

1. is inconvenient and I think what we get with 'scope' is approximately the best one can do given 2.
April 29, 2017
On 28.04.2017 23:52, H. S. Teoh via Digitalmars-d wrote:
> On Fri, Apr 28, 2017 at 09:50:49PM +0000, Atila Neves via Digitalmars-d wrote:
>> On Friday, 28 April 2017 at 19:41:15 UTC, Ola Fosheim Grøstad wrote:
>>> On Friday, 28 April 2017 at 19:41:15 UTC, Ola Fosheim Grøstad wrote:
>>> «Back in the old DOS days, there were multiple pointer types (near
>>> and far). Programmers put up with that because it was the only way,
>>> but they HATED HATED HATED it.»
>>
>> It's true, we did. It was awful.
> [...]
>
> I remember working with that.  It was a royal PITA.
>
>
> T
>

I don't doubt that, but the implicit generalization is "multiple pointer types are necessarily always a royal PITA". Not true. scope has worse usability than a scoped pointer type.
April 29, 2017
On Saturday, 29 April 2017 at 07:26:45 UTC, Timon Gehr wrote:
> I don't doubt that, but the implicit generalization is "multiple pointer types are necessarily always a royal PITA". Not true. scope has worse usability than a scoped pointer type.

Yes. In this context it is was more about the GC lifetime management which requires:

1. The ability to tell the GC about explicit parent-child relationships so that the GC destruction order becomes deterministic.

2. Precise collection.

April 29, 2017
On Saturday, 29 April 2017 at 07:15:36 UTC, Timon Gehr wrote:
> On 28.04.2017 17:43, Moritz Maxeiner wrote:
>> [...]
>>
>> No. Every single thread I read in the last couple of years ended with
>> Walter pointing out issues that need to be "hashed out" and then nobody
>> doing it.
>
> This is not the full story though. Among Walter's constraints for an acceptable solution always were:
>
> 1. cannot add new syntax

I've dug through what records I know of surrounding these discussions [1][2][3][4][5] and could not come up with a statement of his that supports this hard-line claim. You may be right, considering that adding new syntax is a non-trivial change, but I'd need the citation.

>
> 2. cannot add polymorphism to the type system (because it is "hard to understand")

Same as above.

[1] http://lists.puremagic.com/pipermail/dlang-study/
[2] https://forum.dlang.org/thread/kpgilxyyrrluxpepepcg@forum.dlang.org
[3] https://forum.dlang.org/post/kluaojijixhwigoujeip@forum.dlang.org
[4] http://forum.dlang.org/thread/oboaa2$17oa$1@digitalmars.com
[5] http://forum.dlang.org/thread/nu00a6$t5i$1@digitalmars.com