August 22, 2014
On Thursday, 21 August 2014 at 20:49:48 UTC, bachmeier wrote:
> It would be nice to have a page to link to when questions come up on Reddit about compatibility with C++.

We have this:
http://dlang.org/cpp_interface.html

From what I understand, it's not complete. For example it says that non-virtual and static member functions cannot be accesses, but that's not the case anymore, AFAIR. And the section about templates also says that there's no support.

> That page should also have information about avoiding the garbage collector and the status of GC removal from the standard library.

This information is currently spread over several articles with a different focus each, and not up to date either:

http://dlang.org/garbage.html
http://wiki.dlang.org/Instantiating_Class_Objects_Elsewhere_Than_the_GC_Heap
http://wiki.dlang.org/Memory_Management
http://wiki.dlang.org/Versus_the_garbage_collector

I don't think we should treat both topics on the same page, they're mostly unrelated (though people coming from C++ might be interested in both, of course).
August 22, 2014
"Walter Bright"  wrote in message news:lt5l3k$2s5t$1@digitalmars.com...

> The thing is, while the code was there, there wasn't a single test case for it in the test suite. Furthermore, at least for Elf, there was no support for the special mangling done for ::std:: stuff.

Yeah, I don't know what happened to the test cases for template mangling. They were certainly tested when the new manger was being introduced, but somehow disappeared.

There was no special std mangling because at the time C++ mangling was updated, there were no C++ namespaces in D.

> The thing is, modern C++ practice makes heavy use of std types. Having an interface to C++ code is fairly unusable unless D can also interface to std::string, std::vector, and a few others.
>
> The first step is to support the mangling of them. Then, try to construct a "workalike" on the D side that follows D rules, and yet is able to seamlessly interact with the corresponding C++ code.
>
> We'll see how far we can get with that, and then evaluate what to do next.

It works for ddmd's array.d/array.h at least, although it's not very maintenance friendly.  I assume you're aiming for something like a 'core.stdcpp.vector' with an implementation to match each stl implementation? 

August 22, 2014
On Monday, 18 August 2014 at 19:00:23 UTC, Andrei Alexandrescu wrote:
> Congratulations to everyone involved!
>
> http://www.reddit.com/r/programming/comments/2dwqvy/d_2066_nogc_c_namespaces_multidimensional_slices/
>
> https://www.facebook.com/dlang.org/posts/905593426121006
>
> https://twitter.com/D_Programming/status/501443132115140609
>
>
> Andrei

Main dlang.org page still shows that 2.066 is in beta phase. Merge the https://github.com/D-Programming-Language/dlang.org/pull/638 to fix.
August 22, 2014
On Friday, 22 August 2014 at 08:23:16 UTC, Marc Schütz wrote:
> On Thursday, 21 August 2014 at 20:49:48 UTC, bachmeier wrote:
>> It would be nice to have a page to link to when questions come up on Reddit about compatibility with C++.
>
> We have this:
> http://dlang.org/cpp_interface.html
>
> From what I understand, it's not complete. For example it says that non-virtual and static member functions cannot be accesses, but that's not the case anymore, AFAIR. And the section about templates also says that there's no support.

That's the problem. We don't want to link to a page that's not accurate when replying to comments on Reddit.

>> That page should also have information about avoiding the garbage collector and the status of GC removal from the standard library.
>
> This information is currently spread over several articles with a different focus each, and not up to date either:
>
> http://dlang.org/garbage.html
> http://wiki.dlang.org/Instantiating_Class_Objects_Elsewhere_Than_the_GC_Heap
> http://wiki.dlang.org/Memory_Management
> http://wiki.dlang.org/Versus_the_garbage_collector
>
> I don't think we should treat both topics on the same page, they're mostly unrelated (though people coming from C++ might be interested in both, of course).

Maybe it wouldn't have to go on the same page, but at least links to all the information should appear on the same page. The current system with everything scattered here and there makes for a bad first impression.
August 22, 2014
On 8/22/14, 2:06 AM, Dejan Lekic wrote:
> On Monday, 18 August 2014 at 19:00:23 UTC, Andrei Alexandrescu wrote:
>> Congratulations to everyone involved!
>>
>> http://www.reddit.com/r/programming/comments/2dwqvy/d_2066_nogc_c_namespaces_multidimensional_slices/
>>
>>
>> https://www.facebook.com/dlang.org/posts/905593426121006
>>
>> https://twitter.com/D_Programming/status/501443132115140609
>>
>>
>> Andrei
>
> Main dlang.org page still shows that 2.066 is in beta phase. Merge the
> https://github.com/D-Programming-Language/dlang.org/pull/638 to fix.

Pushed, thanks Dejan. -- Andrei
August 22, 2014
On 8/22/2014 1:23 AM, Daniel Murphy wrote:
> "Walter Bright"  wrote in message news:lt5l3k$2s5t$1@digitalmars.com...
>> The thing is, while the code was there, there wasn't a single test case for it
>> in the test suite. Furthermore, at least for Elf, there was no support for the
>> special mangling done for ::std:: stuff.
> Yeah, I don't know what happened to the test cases for template mangling. They
> were certainly tested when the new manger was being introduced, but somehow
> disappeared.

Yeah, that can happen.


> There was no special std mangling because at the time C++ mangling was updated,
> there were no C++ namespaces in D.

Makes sense.


> I assume you're aiming for something like a 'core.stdcpp.vector' with
> an implementation to match each stl implementation?

Yes. While it'll be a significant effort to do this, it could be a big win for us.
August 22, 2014
On Friday, 22 August 2014 at 14:36:13 UTC, Andrei Alexandrescu wrote:
> On 8/22/14, 2:06 AM, Dejan Lekic wrote:
>> On Monday, 18 August 2014 at 19:00:23 UTC, Andrei Alexandrescu wrote:
>>> Congratulations to everyone involved!
>>>
>>> http://www.reddit.com/r/programming/comments/2dwqvy/d_2066_nogc_c_namespaces_multidimensional_slices/
>>>
>>>
>>> https://www.facebook.com/dlang.org/posts/905593426121006
>>>
>>> https://twitter.com/D_Programming/status/501443132115140609
>>>
>>>
>>> Andrei
>>
>> Main dlang.org page still shows that 2.066 is in beta phase. Merge the
>> https://github.com/D-Programming-Language/dlang.org/pull/638 to fix.
>
> Pushed, thanks Dejan. -- Andrei

As I'm sure has been mentioned elsewhere, the website changes should be part of the release process, not an afterthought.
August 22, 2014
On 8/22/2014 1:18 AM, Daniel Murphy wrote:
> There are two reason it's not better documented:
> 1. I hate writing documentation.  I really really hate it.

Join the club :-)

> 2. These features are rather difficult to use, and I don't want people to think
> they can just plug-and-play.  I've spent a lot of time fighting compiler
> alignment bugs, which are their own special kind of hell.  Many of those issues
> have been resolved now, but only in the areas that ddmd actually exercises.

Sorry you got to be the pioneer with the arrows in your back, but you've paved the way for the rest of us.
August 22, 2014
On 8/22/14, 10:04 AM, Walter Bright wrote:
> On 8/22/2014 1:23 AM, Daniel Murphy wrote:
>> I assume you're aiming for something like a 'core.stdcpp.vector' with
>> an implementation to match each stl implementation?
>
> Yes. While it'll be a significant effort to do this, it could be a big
> win for us.

This is top priority for D. Above top if possible. -- Andrei

August 22, 2014
On 8/22/14, 10:05 AM, John Colvin wrote:
> As I'm sure has been mentioned elsewhere, the website changes should be
> part of the release process, not an afterthought.

Agreed. Who would like to volunteer being our webmaster? We'll discuss with our admin to give push rights. -- Andrei