June 12, 2014
On 6/12/14, 6:34 AM, Dicebot wrote:
> On Wednesday, 11 June 2014 at 02:01:24 UTC, Brian Schott wrote:
>> Please do not tag anything until we decide if "virtual" is a keyword
>> in D.
>>
>> See: https://github.com/D-Programming-Language/dlang.org/pull/584
>
> It was decided and 100% certain - "virtual" is not going in. Need to
> remove it from DMD before this release is out.

Yes please. -- Andrei
June 12, 2014
On Thursday, 12 June 2014 at 18:25:36 UTC, Andrei Alexandrescu
wrote:
> On 6/12/14, 6:34 AM, Dicebot wrote:
>> On Wednesday, 11 June 2014 at 02:01:24 UTC, Brian Schott wrote:
>>> Please do not tag anything until we decide if "virtual" is a keyword
>>> in D.
>>>
>>> See: https://github.com/D-Programming-Language/dlang.org/pull/584
>>
>> It was decided and 100% certain - "virtual" is not going in. Need to
>> remove it from DMD before this release is out.
>
> Yes please. -- Andrei

That's pretty disappointing. Something similar to virtual is
necessary, and that something should be actually clean, readable,
and obvious. The proposed final(false), while it is generic, is
long and ugly, a double negative (not not overridable), and not
nicely readable / obvious. Best of all, it's simply another
important thing that continues to never see any progress as it
gets further ignored.

The actual pull to add virtual had multiple pings, but the only
response after being told that it was coming (along with
final-by-default), was that it wouldn't be in 2.065 because that
was a bug fix release. Three months later (after 2.065 came out)
it actually got pulled, but this was only because someone else
pulled it, at which point you expressed your disappointment at it
being pulled. Then the issue again continued to be ignored for
another 3.5 months after that while the keyword remained in git
master the entire time. There's always talk of making things
actually happen and that the community needing to step up to make
them happen, yet people *have* stepped up to do all of this and
been continually ignored. Even after being told final-by-default
would not happen, it was (I believe?) said that a way of going
virtual -> final would be added, allowing people to actually use
'final:'. But again, nothing came from that.

We went from agreeing on final by default, to *possibly* getting
an ugly way of going from final: -> virtual, provided that
something is actually done about it instead of it being ignored
further. It's been over a year since the original discussion of
final by default, and agreement that *something* should be done,
but in the past year absolutely nothing has happened related to
it and no signs exist of anything happening in the next year
either.
June 13, 2014
On 6/12/14, 3:25 PM, Kapps wrote:
> On Thursday, 12 June 2014 at 18:25:36 UTC, Andrei Alexandrescu
> wrote:
>> On 6/12/14, 6:34 AM, Dicebot wrote:
>>> On Wednesday, 11 June 2014 at 02:01:24 UTC, Brian Schott wrote:
>>>> Please do not tag anything until we decide if "virtual" is a keyword
>>>> in D.
>>>>
>>>> See: https://github.com/D-Programming-Language/dlang.org/pull/584
>>>
>>> It was decided and 100% certain - "virtual" is not going in. Need to
>>> remove it from DMD before this release is out.
>>
>> Yes please. -- Andrei
>
> That's pretty disappointing. Something similar to virtual is
> necessary, and that something should be actually clean, readable,
> and obvious. The proposed final(false), while it is generic, is
> long and ugly, a double negative (not not overridable), and not
> nicely readable / obvious. Best of all, it's simply another
> important thing that continues to never see any progress as it
> gets further ignored.

I don't think it's that important. And definitely there's no ignoring going on. There are plenty of things that are plenty more important, and final/virtual functions can already be done easily.

Andrei
June 13, 2014
On 6/12/2014 8:06 PM, Andrei Alexandrescu wrote:
>
> and
> final/virtual functions can already be done easily.
>

But "final:" can't.
June 13, 2014
On 6/12/2014 8:06 PM, Andrei Alexandrescu wrote:
>
> I don't think it's that important. And definitely there's no ignoring
> going on. There are plenty of things that are plenty more important,
>

Wait, so now we're rejecting work that isn't at the right priority level? Some people did seem to find "final:" (and therefore "virtual") important to them, so this really seems to fly in the face of the DConf talk about D development involving people "scratching their own itches".

June 13, 2014
"Andrei Alexandrescu"  wrote in message news:lncrb0$31ec$1@digitalmars.com...

> > It was decided and 100% certain - "virtual" is not going in. Need to
> > remove it from DMD before this release is out.
>
> Yes please. -- Andrei

You did say that something with the same effect as 'virtual' was going in.

It
1. allows escaping final, which we can't do without it or an equivalent
2. does exactly what everybody expects
3. is already implemented
4. looks much nicer than your proposal

Why not just leave it in?  I'm already using it, and it makes extern(C++) classes MUCH more readable (ie DDMD) 

June 13, 2014
On 6/12/14, 5:50 PM, Nick Sabalausky wrote:
> On 6/12/2014 8:06 PM, Andrei Alexandrescu wrote:
>>
>> I don't think it's that important. And definitely there's no ignoring
>> going on. There are plenty of things that are plenty more important,
>>
>
> Wait, so now we're rejecting work that isn't at the right priority
> level?

No. I am rejecting work I do not agree with.

> Some people did seem to find "final:" (and therefore "virtual")
> important to them, so this really seems to fly in the face of the DConf
> talk about D development involving people "scratching their own itches".

I am sorry, this angle is completely mistaken.


Andrei

June 13, 2014
On 6/12/14, 7:26 PM, Daniel Murphy wrote:
> "Andrei Alexandrescu"  wrote in message
> news:lncrb0$31ec$1@digitalmars.com...
>
>> > It was decided and 100% certain - "virtual" is not going in. Need to
>> > remove it from DMD before this release is out.
>>
>> Yes please. -- Andrei
>
> You did say that something with the same effect as 'virtual' was going in.

No.

> It
> 1. allows escaping final, which we can't do without it or an equivalent
> 2. does exactly what everybody expects
> 3. is already implemented
> 4. looks much nicer than your proposal
>
> Why not just leave it in?  I'm already using it, and it makes
> extern(C++) classes MUCH more readable (ie DDMD)

Please no new keyword for what can be done already. It's not proportional response.


Andrei

June 13, 2014
On 6/12/2014 11:13 PM, Andrei Alexandrescu wrote:
> On 6/12/14, 7:26 PM, Daniel Murphy wrote:

>> It
>> 1. allows escaping final, which we can't do without it or an equivalent
>> 2. does exactly what everybody expects
>> 3. is already implemented
>> 4. looks much nicer than your proposal
>>
>> Why not just leave it in?  I'm already using it, and it makes
>> extern(C++) classes MUCH more readable (ie DDMD)
>
> Please no new keyword for what can be done already. It's not
> proportional response.
>

AFAIK, escaping final *can't* be done.

June 13, 2014
On 6/12/14, 8:49 PM, Nick Sabalausky wrote:
> On 6/12/2014 11:13 PM, Andrei Alexandrescu wrote:
>> On 6/12/14, 7:26 PM, Daniel Murphy wrote:
>
>>> It
>>> 1. allows escaping final, which we can't do without it or an equivalent
>>> 2. does exactly what everybody expects
>>> 3. is already implemented
>>> 4. looks much nicer than your proposal
>>>
>>> Why not just leave it in?  I'm already using it, and it makes
>>> extern(C++) classes MUCH more readable (ie DDMD)
>>
>> Please no new keyword for what can be done already. It's not
>> proportional response.
>>
>
> AFAIK, escaping final *can't* be done.

It can be worked around. -- Andrei