October 06, 2014
On Monday, 6 October 2014 at 07:51:41 UTC, ketmar via Digitalmars-d wrote:
> On Mon, 06 Oct 2014 07:44:56 +0000
> Paolo Invernizzi via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
>
>> I would also add that it's scaring not having seen a single comment of Andrej here:
>> https://github.com/D-Programming-Language/dmd/pull/3998
> it's not about c++ interop or gc, so it can wait. existing D users will
> not run away, they are used to be second-class citizens.

That's a bit unfair of you.
October 06, 2014
On Mon, 06 Oct 2014 12:48:28 +0000
Meta via Digitalmars-d <digitalmars-d@puremagic.com> wrote:

> On Monday, 6 October 2014 at 07:51:41 UTC, ketmar via Digitalmars-d wrote:
> > On Mon, 06 Oct 2014 07:44:56 +0000
> > Paolo Invernizzi via Digitalmars-d
> > <digitalmars-d@puremagic.com> wrote:
> >
> >> I would also add that it's scaring not having seen a single comment of Andrej here: https://github.com/D-Programming-Language/dmd/pull/3998
> > it's not about c++ interop or gc, so it can wait. existing D
> > users will
> > not run away, they are used to be second-class citizens.
> 
> That's a bit unfair of you.

that's what i see. even when people praying for breaking their code to
fix some quirks in language, the answer is "NO". why no? 'cause
some hermit living in far outlands may wrote some code years ago and
that code will break and hermit will be unhappy. unhappiness of active
users doesn't matter.

and about writing autofixing tool... silence is the answer. "so will you accept that changes if we'll write dfix tool to automatically fixing source code?" silence. "play your little games, we don't care, as we don't plan to change that anyway, regardless of the tool availability".

Walter once said that he is against "dfix", and nothing was changed
since. "ah, maybe, we aren't interested..." there is little motivation
of doing work on "dfix" if it's not endorsed by leading
language developers.

and now for multiple "alias this"... as you can see this will not help c++ interop, and it will not help gc, so it can lay rotting on github. not a word, not even "will not accept this" or "it's interesting, please keep it up-to-date while you can, we are little busy right now, but will look at it later". second-class citizens will not run away.


October 06, 2014
On 10/5/14, 11:23 PM, eles wrote:
> On Monday, 6 October 2014 at 03:48:49 UTC, Andrei Alexandrescu wrote:
>> On 10/5/14, 3:08 PM, eles wrote:
>>> On Sunday, 5 October 2014 at 14:55:38 UTC, Dicebot wrote:
>
>> The main distinction between structs and classes in D is the former
>> are monomorphic value types and the later are polymorphic reference
>> types. -- Andrei
>
> Why hack them with scoped? The need exists, since you provide a hack for
> it.
>
> Reference classes in C++ are polymorphic & reference, but their
> destructor/disposer gets called.

It doesn't because they need to be allocated dynamically. That's why there's a need for the likes of unique_ptr and shared_ptr in C++.

> There is a delete that triggers that or a smart pointer. I don't care if
> the delete or the destructor really frees the memory, but I would like
> it to get called, to release other resources that the object might have
> locked and to mark the object as "invalid". Later access to it shall
> triger an exception: "invalidObject".
>
> Call it dispose if you like, because delete is too much like freeing
> memory.
>
> Is there an intermediate type between structs and classes?

The intermediate type between struct and class is struct.


Andrei

October 06, 2014
On 10/6/14, 12:44 AM, Paolo Invernizzi wrote:
> On Sunday, 5 October 2014 at 14:55:38 UTC, Dicebot wrote:
>>
>> TDPL was an absolutely awesome book because it expained "why?" as
>> opposed to "how?". Such insight into language authors rationale is
>> incredibly helpful for long-term contribution. Unfortunately, it
>> didn't cover all parts of the language and many new things has been
>> added since it was out.
>>
>
> I would also add that it's scaring not having seen a single comment of
> Andrej here:
> https://github.com/D-Programming-Language/dmd/pull/3998

I did comment in this group. -- Andrei

October 06, 2014
On 10/6/14, 5:42 AM, Wyatt wrote:
> On Sunday, 5 October 2014 at 16:14:18 UTC, Dicebot wrote:
>>
>> No need to explain it here. When I speak about vision I mean something
>> that anyone coming to dlang.org page or GitHub repo sees. Something
>> that is explained in a bit more details, possibly with code examples.
>> I know I am asking much but seeing quick reference for "imagine this
>> stuff is implemented, this is how your program code will be affected
>> and this is why it is a good thing" could have been huge deal.
>
>> Right now your rationales get lost in forum discussion threads
>
> Jerry Christmas, this right here!  Andrei, I know you keep chanting "C++
> and GC", and that's cool and all, but its also kind of meaningless
> because we can't read minds.

I understand. What would be a good venue for discussing such topics? I thought the D language forum would be most appropriate. -- Andrei

October 06, 2014
On 10/6/14, 6:18 AM, ketmar via Digitalmars-d wrote:
> and now for multiple "alias this"... as you can see this will not help
> c++ interop, and it will not help gc, so it can lay rotting on github.
> not a word, not even "will not accept this" or "it's interesting, please
> keep it up-to-date while you can, we are little busy right now, but
> will look at it later". second-class citizens will not run away.

We will accept multiple "alias this". -- Andrei
October 06, 2014
On Monday, 6 October 2014 at 13:49:15 UTC, Andrei Alexandrescu wrote:
> On 10/6/14, 12:44 AM, Paolo Invernizzi wrote:
>> On Sunday, 5 October 2014 at 14:55:38 UTC, Dicebot wrote:
>>>
>>> TDPL was an absolutely awesome book because it expained "why?" as
>>> opposed to "how?". Such insight into language authors rationale is
>>> incredibly helpful for long-term contribution. Unfortunately, it
>>> didn't cover all parts of the language and many new things has been
>>> added since it was out.
>>>
>>
>> I would also add that it's scaring not having seen a single comment of
>> Andrej here:
>> https://github.com/D-Programming-Language/dmd/pull/3998
>
> I did comment in this group. -- Andrei

I'm missing something? If you are _only_ meaning that one [1] I keep being scared ;-)
No pun intended, really.

http://forum.dlang.org/thread/mxpfzghydhirdtltmmvo@forum.dlang.org?page=3#post-lvhoic:2421o4:241:40digitalmars.com

---
/Paolo


October 06, 2014
On Monday, 6 October 2014 at 13:54:05 UTC, Andrei Alexandrescu wrote:
> On 10/6/14, 5:42 AM, Wyatt wrote:
>> On Sunday, 5 October 2014 at 16:14:18 UTC, Dicebot wrote:
>>>
>>> No need to explain it here. When I speak about vision I mean something
>>> that anyone coming to dlang.org page or GitHub repo sees. Something
>>> that is explained in a bit more details, possibly with code examples.
>>> I know I am asking much but seeing quick reference for "imagine this
>>> stuff is implemented, this is how your program code will be affected
>>> and this is why it is a good thing" could have been huge deal.
>>
>>> Right now your rationales get lost in forum discussion threads
>>
>> Jerry Christmas, this right here!  Andrei, I know you keep chanting "C++
>> and GC", and that's cool and all, but its also kind of meaningless
>> because we can't read minds.
>
> I understand. What would be a good venue for discussing such topics? I thought the D language forum would be most appropriate. -- Andrei

Sure, the newsgroup is a great place to discuss the minutiae of specific features and figure out how they might be implemented and what design tradeoffs need to be made.  I think we've shown we can disagree about the colour of any bikeshed of any shape and construction at this point!

But in what venue do you feel comfortable holding the easily-accessible public record of your intent for C++ support so anyone wondering about this new mantra can get the summary of what it means for them _as an end user_ without scouring the NG and partially-piecing-it-together-but-not-really from a dozen disparate posts?

To be succinct: how about an article?

We're not asking for a discussion in this case so much as some frank sharing.  D is going to have C++ support.  That's cool and compelling as a bare statement, but in what manner?  What kinds of things will this allow that were impossible before?  How, specifically, do you envision that to look?  Can you give example code that you would expect to work when it's "done"?  What are the drawbacks you believe forward engineers will have to watch out for?  It's okay to not have all the answers and explain that there are parts that may not make it because of various reasons.

I somewhat feel that you're approaching this situation as if it that were all quite obvious.  Maybe it is to you?  I don't know.  But I do know I'm not alone in the dark here.  Please bring a lamp.

-Wyatt
October 06, 2014
On 10/6/14, 7:05 AM, Paolo Invernizzi wrote:
> On Monday, 6 October 2014 at 13:49:15 UTC, Andrei Alexandrescu wrote:
>> On 10/6/14, 12:44 AM, Paolo Invernizzi wrote:
>>> On Sunday, 5 October 2014 at 14:55:38 UTC, Dicebot wrote:
>>>>
>>>> TDPL was an absolutely awesome book because it expained "why?" as
>>>> opposed to "how?". Such insight into language authors rationale is
>>>> incredibly helpful for long-term contribution. Unfortunately, it
>>>> didn't cover all parts of the language and many new things has been
>>>> added since it was out.
>>>>
>>>
>>> I would also add that it's scaring not having seen a single comment of
>>> Andrej here:
>>> https://github.com/D-Programming-Language/dmd/pull/3998
>>
>> I did comment in this group. -- Andrei
>
> I'm missing something? If you are _only_ meaning that one [1] I keep
> being scared ;-)
> No pun intended, really.
>
> http://forum.dlang.org/thread/mxpfzghydhirdtltmmvo@forum.dlang.org?page=3#post-lvhoic:2421o4:241:40digitalmars.com

I understand the necessity for further scrutiny of that work. Even before that I owe Sönke Ludwig a review for std.data.json. There's a large list of things I need to do at work, mostly D-related, not all of which I am not at liberty to make public. On top of that I have of course other obligations to tend to.

To interpret my lack of time politically is really amusing. You guys have too much time on your hands :o).


Andrei

October 06, 2014
On 10/6/14, 7:36 AM, Wyatt wrote:
> To be succinct: how about an article?

An article would be great once we have done something we can show.

> We're not asking for a discussion in this case so much as some frank
> sharing.

Is there anything dishonest about sharing intent about the D programming language in the public forum of the D programming language?

> D is going to have C++ support.  That's cool and compelling as
> a bare statement, but in what manner?

We don't know yet, we're designing it - to wit, we're looking for help regarding exception interoperability.

> What kinds of things will this
> allow that were impossible before?

The exact list is in the air. We're looking e.g. for the best policy on exceptions. Possible vs. impossible is btw a matter of scale, for example wrapping everything you need from C++ in C functions is possible in the small but impossible at scale.

> How, specifically, do you envision
> that to look?

What is "that"?

> Can you give example code that you would expect to work
> when it's "done"?

This was discussed already: we should be able to pass an std::vector<int> by reference/pointer from C++ into D and use it within D directly, with no intervening marshaling.

> What are the drawbacks you believe forward engineers
> will have to watch out for?

What's a forward engineer?

> It's okay to not have all the answers and
> explain that there are parts that may not make it because of various
> reasons.
>
> I somewhat feel that you're approaching this situation as if it that
> were all quite obvious.  Maybe it is to you?  I don't know. But I do
> know I'm not alone in the dark here.  Please bring a lamp.

It seems this is a simple misunderstanding. You're looking for a virtually finished product (article documenting how it works; analysis; design; projected impact) whereas we're very much at the beginning of all that. What's clear to me is we need better interop with C++, so I've put that up for discussion as soon as reasonable. You're asking for things that are months into the future.


Andrei