www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Vision

reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Better late than later.

http://wiki.dlang.org/Vision/2015H2_(draft)

Destroy. After we make this good I'll rename it and make it official.


Andrei
Oct 21 2015
next sibling parent ponce <contact gam3sfrommars.fr> writes:
On Wednesday, 21 October 2015 at 20:50:29 UTC, Andrei 
Alexandrescu wrote:
 Better late than later.

 http://wiki.dlang.org/Vision/2015H2_(draft)

 Destroy. After we make this good I'll rename it and make it 
 official.


 Andrei
Somehow the link isn't recognized by DFeed. Let me try with http://wiki.dlang.org/Vision/2015H2_(draft%29
Oct 21 2015
prev sibling next sibling parent reply qznc <qznc web.de> writes:
On Wednesday, 21 October 2015 at 20:50:29 UTC, Andrei 
Alexandrescu wrote:
 Better late than later.

 http://wiki.dlang.org/Vision/2015H2_(draft)

 Destroy. After we make this good I'll rename it and make it 
 official.
I'd again raise the issue of an official blog/news channel. People would like to see more visible leadership. The announcement forum is open for everybody, so it is not "official". This is not a technical issue. The question is what and how to integrate. The foundation should probably have some way to communicate offical news? Should "This Week in D" be integrated or kept separate? What kind of content should be posted? Previous discussion: http://forum.dlang.org/post/qumfoiwygibkcenolylz forum.dlang.org Also: http://forum.dlang.org/post/qipfxkztfmvzjnorguwc forum.dlang.org
Oct 21 2015
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 10/21/2015 05:10 PM, qznc wrote:
 On Wednesday, 21 October 2015 at 20:50:29 UTC, Andrei Alexandrescu wrote:
 Better late than later.

 http://wiki.dlang.org/Vision/2015H2_(draft)

 Destroy. After we make this good I'll rename it and make it official.
I'd again raise the issue of an official blog/news channel. People would like to see more visible leadership. The announcement forum is open for everybody, so it is not "official". This is not a technical issue. The question is what and how to integrate. The foundation should probably have some way to communicate offical news? Should "This Week in D" be integrated or kept separate? What kind of content should be posted? Previous discussion: http://forum.dlang.org/post/qumfoiwygibkcenolylz forum.dlang.org Also: http://forum.dlang.org/post/qipfxkztfmvzjnorguwc forum.dlang.org
TWiD is an official newsletter. -- Andrei
Oct 21 2015
parent reply Vladimir Panteleev <thecybershadow.lists gmail.com> writes:
On Wednesday, 21 October 2015 at 22:35:35 UTC, Andrei 
Alexandrescu wrote:
 TWiD is an official newsletter. -- Andrei
For being an official newsletter, it doesn't get the exposure it deserves. So Adam and I put this together today: https://github.com/D-Programming-Language/dlang.org/pull/1136
Oct 21 2015
next sibling parent Adam D. Ruppe <destructionator gmail.com> writes:
On Thursday, 22 October 2015 at 02:17:09 UTC, Vladimir Panteleev 
wrote:
 For being an official newsletter, it doesn't get the exposure 
 it deserves.
Part of that is my fault btw, I just never actually got to pushing it to dlang.org and then fell into the routine I'm in now.
Oct 21 2015
prev sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 10/21/2015 10:17 PM, Vladimir Panteleev wrote:
 On Wednesday, 21 October 2015 at 22:35:35 UTC, Andrei Alexandrescu wrote:
 TWiD is an official newsletter. -- Andrei
For being an official newsletter, it doesn't get the exposure it deserves. So Adam and I put this together today: https://github.com/D-Programming-Language/dlang.org/pull/1136
Looks fantastic and Adam sent me word it increased traffic considerably - good job! -- Andrei
Oct 25 2015
prev sibling next sibling parent Laeeth Isharc <laeethnospam nospamlaeeth.com> writes:
On Wednesday, 21 October 2015 at 20:50:29 UTC, Andrei 
Alexandrescu wrote:
 Better late than later.

 http://wiki.dlang.org/Vision/2015H2_(draft)

 Destroy. After we make this good I'll rename it and make it 
 official.


 Andrei
C++ integration - documentation. You can do more than described in the quite-old doc page now, but nobody is interested in writing it up. I don't know C++ so can't really do so myself. (And hasn't at least some progress been made since you wrote the last doc, in large part thanks to ddmd?)
Oct 21 2015
prev sibling next sibling parent reply Laeeth Isharc <laeethnospam nospamlaeeth.com> writes:
On Wednesday, 21 October 2015 at 20:50:29 UTC, Andrei 
Alexandrescu wrote:
 Better late than later.

 http://wiki.dlang.org/Vision/2015H2_(draft)

 Destroy. After we make this good I'll rename it and make it 
 official.


 Andrei
Smartphones+portable devices - since the set of people reading this will exceed those that use D everyday, maybe this is also a chance to say what can be done. (Half the D people didn't even know - we hide our light under a bushel too much).I don't know the exact details but something like: GDC and LDC are available as beta versions for use on ARM Linux and are distributed with some Linux distributions such as Arch. Some users report success compiling and running projects of reasonable size on these platforms. Work on iOS and Android ARM continues. Phobos unittests mostly compile (the failures are of minor significance) and small applications have been successfully written and run on these platforms. As the porting effort reaches completion, the next stage will be library support for the platform. Objective C?? Hasn't there been more progress on embedded than you report? Ie people have actually been able to run hello world on various variants (which maybe should be named), and it looked superficially like one would be able to use D to get real work done (although I am not sure about it) if one could do without Phobos.
Oct 21 2015
parent reply Jacob Carlborg <doob me.com> writes:
On 2015-10-21 23:49, Laeeth Isharc wrote:

 Objective C??
The initial support for Objective-C will be available in the upcoming release [1]. [1] http://dlang.org/changelog/2.069.0.html#objective-c-support -- /Jacob Carlborg
Oct 22 2015
parent reply Laeeth Isharc <Laeeth.nospam nospam-laeeth.com> writes:
On Thursday, 22 October 2015 at 19:43:04 UTC, Jacob Carlborg 
wrote:
 On 2015-10-21 23:49, Laeeth Isharc wrote:

 Objective C??
The initial support for Objective-C will be available in the upcoming release [1]. [1] http://dlang.org/changelog/2.069.0.html#objective-c-support
Should this not be mentioned in the document ? If so, care to draft a sentence for it. Cos readership of this kind of thing exceeds people that use D already.
Oct 22 2015
parent reply Jacob Carlborg <doob me.com> writes:
On 2015-10-22 21:47, Laeeth Isharc wrote:

 Should this not be mentioned in the document ?  If so, care to draft a
 sentence for it.  Cos readership of this kind of thing exceeds people
 that use D already.
It's available in the changelog [1] which links to the full documentation [2]. I'm not sure what document you're referring to. [1] http://dlang.org/changelog/2.069.0.html#objective-c-support [2] http://dlang.org/objc_interface.html -- /Jacob Carlborg
Oct 23 2015
next sibling parent reply Steven Schveighoffer <schveiguy yahoo.com> writes:
On 10/23/15 7:06 AM, Jacob Carlborg wrote:
 On 2015-10-22 21:47, Laeeth Isharc wrote:

 Should this not be mentioned in the document ?  If so, care to draft a
 sentence for it.  Cos readership of this kind of thing exceeds people
 that use D already.
It's available in the changelog [1] which links to the full documentation [2]. I'm not sure what document you're referring to. [1] http://dlang.org/changelog/2.069.0.html#objective-c-support [2] http://dlang.org/objc_interface.html
As an objective C developer on iOS, I am curious if you have done any true development using this? The example looks terrible -- objc_lookUpClass which only gets a class that can alloc an NSString? Can this be done better? An objective-c developer that is not too familiar with D would be very disappointed in this binding. Also, what type does 'id' map to? -Steve
Oct 23 2015
next sibling parent reply Kagamin <spam here.lot> writes:
On Friday, 23 October 2015 at 12:44:03 UTC, Steven Schveighoffer 
wrote:
 The example looks terrible -- objc_lookUpClass which only gets 
 a class that can alloc an NSString? Can this be done better? An 
 objective-c developer that is not too familiar with D would be 
 very disappointed in this binding.
A little of massage and you get: struct ClassStorage(C) { alias lookUp this; C lookUp() immutable { return cast(C)objc_lookUpClass(C.stringof); } } immutable ClassStorage!NSString cNSString; C alloc(C)() { immutable ClassStorage!C c; return c.alloc(); } void main() { auto str = cNSString.alloc.initWithUTF8String("Hello World!"); auto str1 = alloc!NSString.initWithUTF8String("Hello World!"); NSLog(str); str.release(); str1.release(); }
Oct 23 2015
next sibling parent reply Steven Schveighoffer <schveiguy yahoo.com> writes:
On 10/23/15 11:53 AM, Kagamin wrote:
 On Friday, 23 October 2015 at 12:44:03 UTC, Steven Schveighoffer wrote:
 The example looks terrible -- objc_lookUpClass which only gets a class
 that can alloc an NSString? Can this be done better? An objective-c
 developer that is not too familiar with D would be very disappointed
 in this binding.
A little of massage and you get: struct ClassStorage(C) { alias lookUp this; C lookUp() immutable { return cast(C)objc_lookUpClass(C.stringof); } } immutable ClassStorage!NSString cNSString; C alloc(C)() { immutable ClassStorage!C c; return c.alloc(); } void main() { auto str = cNSString.alloc.initWithUTF8String("Hello World!"); auto str1 = alloc!NSString.initWithUTF8String("Hello World!"); NSLog(str); str.release(); str1.release(); }
I think this would look better as the official example! Question is, what does objc_lookUpClass actually return? I'm assuming id. I still don't know what that is in D, void*? -Steve
Oct 23 2015
parent Jacob Carlborg <doob me.com> writes:
On 2015-10-23 20:44, Steven Schveighoffer wrote:

 I think this would look better as the official example!
I wanted to keep it simple.
 Question is, what does objc_lookUpClass actually return? I'm assuming
 id. I still don't know what that is in D, void*?
No. In the (Objective-)C header files "objc_lookUpClass" returns "Class", which is defined like below: alias Class = objc_class* struct objc_class { Class isa; } In my example it's an Objective-C interface defined in D. Everything is in the example, even links to the Objective-C runtime reference. -- /Jacob Carlborg
Oct 23 2015
prev sibling parent Jacob Carlborg <doob me.com> writes:
On 2015-10-23 17:53, Kagamin wrote:

 A little of massage and you get:

 struct ClassStorage(C)
 {
    alias lookUp this;
    C lookUp() immutable
    {
      return cast(C)objc_lookUpClass(C.stringof);
    }
 }

 immutable ClassStorage!NSString cNSString;

 C alloc(C)()
 {
    immutable ClassStorage!C c;
    return c.alloc();
 }

 void main()
 {
    auto str = cNSString.alloc.initWithUTF8String("Hello World!");
    auto str1 = alloc!NSString.initWithUTF8String("Hello World!");
    NSLog(str);
    str.release();
    str1.release();
 }
In theory this could work: extern (C) void NSLog(NSString, ...); extern (C) Class objc_lookUpClass(in char*); extern (Objective-C) interface Class { // prefix with an underscore to avoid conflict with the class // method in NSObject NSObject _alloc() selector("alloc"); } extern (Objective-C) interface NSObject : Class { // prefix with an underscore to avoid conflict with the // free function NSObject _init() selector("init"); static T alloc(this T)() { // The cast to void* is necessary to bypass the runtime // because casting is not yet implemented for Objective-C // classes return cast(T) cast(void*) objc_lookUpClass(T.stringof)._alloc; } } // Use a free function and UFCS because the selector attribute is not // allowed on template methods auto init (T : NSObject)(T obj) { return cast(T) obj._init(); } extern (Objective-C) interface NSString : NSObject { NSString initWithUTF8String(in char* str) selector("initWithUTF8String:"); } void main() { auto str = NSString.alloc.initWithUTF8String("Hello World!!"); auto str2 = NSString.alloc.init; NSLog(str); } The above could work, and in my opinion should work. But the "this T" for static methods don't work. -- /Jacob Carlborg
Oct 23 2015
prev sibling next sibling parent Jacob Carlborg <doob me.com> writes:
On 2015-10-23 14:44, Steven Schveighoffer wrote:

 As an objective C developer on iOS, I am curious if you have done any
 true development using this?
No :). But I have done some development even without this, i.e. only using the Objective-C runtime. Even though this might look small, it's a huge improvement. I mean, you don't have to worry about the ABI.
 The example looks terrible -- objc_lookUpClass which only gets a class
 that can alloc an NSString? Can this be done better? An objective-c
 developer that is not too familiar with D would be very disappointed in
 this binding.
This is only the first step, the bare minimum that is useful. I had a pull request which implement support for most of the Objective-C features but was asked to split it up in smaller chunks. Remember that the initial C++ support was even more lacking than this. It was not possible to instantiate C++ classes from D. This is the goal [1]. I'm pretty sure that it's possible to use some of the D features to improve this.
 Also, what type does 'id' map to?
"id" in Objective-C is a bit weird since you can store both all object types an also all regular C types. There is no type in D that corresponds to that. When working with the Objective-C runtime it is something like this: alias Class = objc_class* struct objc_class { Class isa; } alias id = objc_object*; struct objc_object { Class isa; } [1] http://wiki.dlang.org/DIP43 -- /Jacob Carlborg
Oct 23 2015
prev sibling parent Jacob Carlborg <doob me.com> writes:
On 2015-10-23 14:44, Steven Schveighoffer wrote:

 Also, what type does 'id' map to?
I don't think that "id" is particular interesting. Apple is moving away from it more and more. They added the "instancetype" feature for the declarations of "init" and "alloc". They added generics for containers. For a generic type to store any kind of object I would recommend using "NSObject" which is (in practice) the root of all classes. NSProxy is the only class I've seen which doesn't inherit from NSObject. Although it still conforms to the NSObject protocol. I would recommend against using "id" to store both objects and C types. -- /Jacob Carlborg
Oct 24 2015
prev sibling next sibling parent reply Adam D. Ruppe <destructionator gmail.com> writes:
On Friday, 23 October 2015 at 11:06:07 UTC, Jacob Carlborg wrote:
 It's available in the changelog [1] which links to the full 
 documentation [2]. I'm not sure what document you're referring 
 to.
Is it your hope to get the operating system bindings into druntime too? I'd like it if I could use the objective C create window, etc., calls right from there more naturally too.
Oct 23 2015
parent reply Jacob Carlborg <doob me.com> writes:
On 2015-10-23 16:57, Adam D. Ruppe wrote:

 Is it your hope to get the operating system bindings into druntime too?
 I'd like it if I could use the objective C create window, etc., calls
 right from there more naturally too.
If automatically generated bindings are allowed, sure. Otherwise, no. -- /Jacob Carlborg
Oct 23 2015
parent reply Adam D. Ruppe <destructionator gmail.com> writes:
On Friday, 23 October 2015 at 20:24:25 UTC, Jacob Carlborg wrote:
 If automatically generated bindings are allowed, sure. 
 Otherwise, no.
We just recently got it in for Windows, pretty well auto generated, so I should hope we can get it for Mac too.
Oct 23 2015
parent reply Jacob Carlborg <doob me.com> writes:
On 2015-10-24 01:23, Adam D. Ruppe wrote:

 We just recently got it in for Windows, pretty well auto generated, so I
 should hope we can get it for Mac too.
Oh, I didn't know it was the automatically generated. My concern are these posts: http://forum.dlang.org/post/lan02e$3104$1 digitalmars.com -- /Jacob Carlborg
Oct 24 2015
parent Jonathan M Davis <jmdavisProg gmx.com> writes:
On Saturday, 24 October 2015 at 09:14:40 UTC, Jacob Carlborg 
wrote:
 On 2015-10-24 01:23, Adam D. Ruppe wrote:

 We just recently got it in for Windows, pretty well auto 
 generated, so I
 should hope we can get it for Mac too.
Oh, I didn't know it was the automatically generated. My concern are these posts: http://forum.dlang.org/post/lan02e$3104$1 digitalmars.com
The concern expressed by Sean in that thread would not apply to the Windows bindings, because the headers that they were generated from are in the public domain. It might still apply with the Objective C headers (since they're probably not in the public domain), but I do think that the concern is a bit paranoid. - Jonathan M Davis
Oct 24 2015
prev sibling parent reply Laeeth Isharc <laeethnospam nospam.laeeth.com> writes:
On Friday, 23 October 2015 at 11:06:07 UTC, Jacob Carlborg wrote:
 On 2015-10-22 21:47, Laeeth Isharc wrote:

 Should this not be mentioned in the document ?  If so, care to 
 draft a
 sentence for it.  Cos readership of this kind of thing exceeds 
 people
 that use D already.
It's available in the changelog [1] which links to the full documentation [2]. I'm not sure what document you're referring to. [1] http://dlang.org/changelog/2.069.0.html#objective-c-support [2] http://dlang.org/objc_interface.html
I read it quickly so may have missed, but I meant in the vision document ;)
Oct 23 2015
parent Jacob Carlborg <doob me.com> writes:
On 2015-10-24 02:57, Laeeth Isharc wrote:

 I read it quickly so may have missed, but I meant in the vision document ;)
Oh, no I understand :). I guess it's not part of the vision. You have to ask Andrei/Walter about that. Personally, for me, it doesn't matter. I won't work more or less on this because it's part of or not part of of the vision document. -- /Jacob Carlborg
Oct 24 2015
prev sibling next sibling parent reply Guillaume Chatelet <chatelet.guillaume gmail.com> writes:
On Wednesday, 21 October 2015 at 20:50:29 UTC, Andrei 
Alexandrescu wrote:
 Better late than later.

 http://wiki.dlang.org/Vision/2015H2_(draft)

 Destroy. After we make this good I'll rename it and make it 
 official.


 Andrei
For C++ vector and string I have a pull request available but it will not work until name mangling works correctly and the linux/OSX C++ name mangling is utterly broken (I don't know about windows). I'm still reverse engineering some tricky cases but I'm getting there. I also made progress on rewriting the C++ name mangler in ddmd codebase. I don't have a lot of spare time so progress is slow, but I'm still on it.
Oct 21 2015
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 10/21/2015 05:50 PM, Guillaume Chatelet wrote:
 For C++ vector and string I have a pull request available but it will
 not work until name mangling works correctly and the linux/OSX C++ name
 mangling is utterly broken (I don't know about windows).
Also, exceptions. -- Andrei
Oct 21 2015
parent Guillaume Chatelet <chatelet.guillaume gmail.com> writes:
On Wednesday, 21 October 2015 at 22:36:46 UTC, Andrei 
Alexandrescu wrote:
 On 10/21/2015 05:50 PM, Guillaume Chatelet wrote:
 For C++ vector and string I have a pull request available but 
 it will
 not work until name mangling works correctly and the linux/OSX 
 C++ name
 mangling is utterly broken (I don't know about windows).
Also, exceptions. -- Andrei
Yes you're right, that said having C++ work without exceptions would already be a huge step forward. A lot of companies (including Google) do not use exceptions.
Oct 22 2015
prev sibling next sibling parent reply John Colvin <john.loughran.colvin gmail.com> writes:
On Wednesday, 21 October 2015 at 20:50:29 UTC, Andrei 
Alexandrescu wrote:
 Better late than later.

 http://wiki.dlang.org/Vision/2015H2_(draft)

 Destroy. After we make this good I'll rename it and make it 
 official.


 Andrei
 Memory Management
 There has been progress on memory management in the standard 
 library. Several functions that allocated memory now have lazy 
 equivalents that do not require allocation.
std.experimental.allocator is the big news here, no?
 C++ integration
 Progress has been slow.
The main problem is the documentation, or more rather the lack of it.
 Foster additions to the standard library and third-party 
 libraries
 Progress has been slow.
I see a lot of work happening on code.dlang.org. Subjectively speaking, third party library development appears to be accelerating.
 Alternative compilers
 gdc and ldc have made good progress and are keeping up with the 
 current front-end.
There's good work going on with both, but gdc is definitely not keeping up with the front-end at the moment.
 Switch to self-hosting (ddmd)
 Porting the D compiler to D has been making good progress.
More than good progress, the bit that really matters (the frontend) is done.
Oct 21 2015
parent Jack Stouffer <jack jackstouffer.com> writes:
On Wednesday, 21 October 2015 at 21:51:34 UTC, John Colvin wrote:
 The main problem is the documentation, or more rather the lack 
 of it.
And the reason why (separate docs) is precisely why ddoc was made. Andrei, is there any way that the C++ integration documentation could be generated from an internal DDMD source file, preferably the one that handles the integration?
Oct 21 2015
prev sibling next sibling parent reply Jack Stouffer <jack jackstouffer.com> writes:
On Wednesday, 21 October 2015 at 20:50:29 UTC, Andrei 
Alexandrescu wrote:
 Better late than later.

 http://wiki.dlang.org/Vision/2015H2_(draft)

 Destroy. After we make this good I'll rename it and make it 
 official.


 Andrei
It has been mentioned many times by the leadership, so can you add getting dscanner and/or dfmt integrated into ddmd? Or at the very least, added as official tools.
Oct 21 2015
parent Brian Schott <briancschott gmail.com> writes:
On Wednesday, 21 October 2015 at 23:03:43 UTC, Jack Stouffer 
wrote:
 On Wednesday, 21 October 2015 at 20:50:29 UTC, Andrei 
 Alexandrescu wrote:
 Better late than later.

 http://wiki.dlang.org/Vision/2015H2_(draft)

 Destroy. After we make this good I'll rename it and make it 
 official.


 Andrei
It has been mentioned many times by the leadership, so can you add getting dscanner and/or dfmt integrated into ddmd? Or at the very least, added as official tools.
dfmt not being there is mostly my fault. I'll try to get 0.4.1 (or 0.4.2 if there is one) bundled with 2.070.
Oct 21 2015
prev sibling next sibling parent rsw0x <anonymous anonymous.com> writes:
On Wednesday, 21 October 2015 at 20:50:29 UTC, Andrei 
Alexandrescu wrote:
 Better late than later.

 http://wiki.dlang.org/Vision/2015H2_(draft)

 Destroy. After we make this good I'll rename it and make it 
 official.


 Andrei
Memory management
"No GC" remains a primary concern going forward for the standard 
library and client code.
We need good language+library support and robust idioms to 
follow for good no-GC code.
language-level smart pointers would be a good start. Library level ones feel like an ugly hack honestly, its been repeatedly beaten to death all the issues there is in implementing them at library-level and the only solutions are more ugly DIPs to duct tape it together - look, DIP25 required another DIP just to fix the DIP itself. http://wiki.dlang.org/DIP77 Another major issue is the lack of -> like C++, which means that methods on the smart pointer can't be disambiguated from methods on the object it's wrapping. D's entire memory management system almost feels C arcane compared to where C++ is moving. Scope as an attribute is still mostly unimplemented AFAIK. Honestly, I think the new C++ guidelines have a lot of goodies in it... I'd like to just be able to use D without the GC. I don't mean a gimped version of D where I might as well just be using another language. D's GC is just slow, and honestly, not viable for most tasks you're going to use a system's level language for. Yeah, I'm going to get flak for that and people are going to cherrypick data that shows that a GC'd language has been used in some OS that was used by 7 people total or something, but lets not delude ourselves - there's a reason why everytime D gets optimized for a benchmark the first thing anyone does is essentially nix all allocations and replace classes with structs.
Oct 21 2015
prev sibling next sibling parent reply Rikki Cattermole <alphaglosined gmail.com> writes:
On 22/10/15 9:50 AM, Andrei Alexandrescu wrote:
 Better late than later.

 http://wiki.dlang.org/Vision/2015H2_(draft)

 Destroy. After we make this good I'll rename it and make it official.


 Andrei
Can we add priority for color library for Phobos? I really don't want to be held up during 2016H1 because of it. With regards to image + windowing library.
Oct 21 2015
parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Thursday, 22 October 2015 at 01:50:08 UTC, Rikki Cattermole 
wrote:
 On 22/10/15 9:50 AM, Andrei Alexandrescu wrote:
 Better late than later.

 http://wiki.dlang.org/Vision/2015H2_(draft)

 Destroy. After we make this good I'll rename it and make it 
 official.


 Andrei
Can we add priority for color library for Phobos? I really don't want to be held up during 2016H1 because of it. With regards to image + windowing library.
Has anyone come up with a proposal for review for possible Phobos inclusion? That's usually the holdup on that sort of thing, not a vision document. - Jonathan M Davis
Oct 22 2015
next sibling parent reply Rikki Cattermole <alphaglosined gmail.com> writes:
On 22/10/15 10:49 PM, Jonathan M Davis wrote:
 On Thursday, 22 October 2015 at 01:50:08 UTC, Rikki Cattermole wrote:
 On 22/10/15 9:50 AM, Andrei Alexandrescu wrote:
 Better late than later.

 http://wiki.dlang.org/Vision/2015H2_(draft)

 Destroy. After we make this good I'll rename it and make it official.


 Andrei
Can we add priority for color library for Phobos? I really don't want to be held up during 2016H1 because of it. With regards to image + windowing library.
Has anyone come up with a proposal for review for possible Phobos inclusion? That's usually the holdup on that sort of thing, not a vision document. - Jonathan M Davis
Manu's work is more or less complete at this stage. He just needs a bit of support to push it to the finish line :)
Oct 22 2015
parent reply Manu via Digitalmars-d <digitalmars-d puremagic.com> writes:
On 22 October 2015 at 19:58, Rikki Cattermole via Digitalmars-d
<digitalmars-d puremagic.com> wrote:
 On 22/10/15 10:49 PM, Jonathan M Davis wrote:
 On Thursday, 22 October 2015 at 01:50:08 UTC, Rikki Cattermole wrote:
 On 22/10/15 9:50 AM, Andrei Alexandrescu wrote:
 Better late than later.

 http://wiki.dlang.org/Vision/2015H2_(draft)

 Destroy. After we make this good I'll rename it and make it official.


 Andrei
Can we add priority for color library for Phobos? I really don't want to be held up during 2016H1 because of it. With regards to image + windowing library.
Has anyone come up with a proposal for review for possible Phobos inclusion? That's usually the holdup on that sort of thing, not a vision document. - Jonathan M Davis
Manu's work is more or less complete at this stage. He just needs a bit of support to push it to the finish line :)
Well, I wouldn't call it complete, but the base could be merged into experimental. Further work should be additive. The question is, a library that could be expanded for years to come; should it be merged eagerly, or in years when it's 'finished' (a concept that's never actually attainable)?
Oct 22 2015
parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 10/23/2015 02:09 AM, Manu via Digitalmars-d wrote:
 The question is, a library that could be expanded for years to come;
 should it be merged eagerly, or in years when it's 'finished' (a
 concept that's never actually attainable)?
The short answer is it's a judgment call. -- Andrei
Oct 23 2015
prev sibling parent reply Jack Stouffer <jack jackstouffer.com> writes:
On Thursday, 22 October 2015 at 09:49:30 UTC, Jonathan M Davis 
wrote:
 Has anyone come up with a proposal for review for possible 
 Phobos inclusion? That's usually the holdup on that sort of 
 thing, not a vision document.

 - Jonathan M Davis
https://github.com/D-Programming-Language/phobos/pull/2845 Though I don't understand why this needs to be in Phobos so badly when having it as a dub package would make more sense. Same goes for an imaging library.
Oct 22 2015
parent reply Rikki Cattermole <alphaglosined gmail.com> writes:
On 23/10/15 3:13 AM, Jack Stouffer wrote:
 On Thursday, 22 October 2015 at 09:49:30 UTC, Jonathan M Davis wrote:
 Has anyone come up with a proposal for review for possible Phobos
 inclusion? That's usually the holdup on that sort of thing, not a
 vision document.

 - Jonathan M Davis
https://github.com/D-Programming-Language/phobos/pull/2845 Though I don't understand why this needs to be in Phobos so badly when having it as a dub package would make more sense. Same goes for an imaging library.
And yet projects like dlangui keep on dying. Obviously something is not right with how they are.
Oct 22 2015
parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Thursday, 22 October 2015 at 14:39:14 UTC, Rikki Cattermole 
wrote:
 On 23/10/15 3:13 AM, Jack Stouffer wrote:
 On Thursday, 22 October 2015 at 09:49:30 UTC, Jonathan M Davis 
 wrote:
 Has anyone come up with a proposal for review for possible 
 Phobos
 inclusion? That's usually the holdup on that sort of thing, 
 not a
 vision document.

 - Jonathan M Davis
https://github.com/D-Programming-Language/phobos/pull/2845 Though I don't understand why this needs to be in Phobos so badly when having it as a dub package would make more sense. Same goes for an imaging library.
And yet projects like dlangui keep on dying. Obviously something is not right with how they are.
Projects typically die because they don't have enough people involved (frequently only one) and those who are involved no longer have the time and/or interest. Maybe the color stuff belongs in Phobos. Maybe not. But IMHO, concerns about 3rd party projects dying off is _not_ a good reason to put something in the standard library. I don't think that we want large amounts of code being thrown into Phobos on the theory that the Phobos devs will maintain it and whoever wrote it can stop caring. - Jonathan M Davis
Oct 22 2015
next sibling parent reply Szymon Gatner <noemail gmail.com> writes:
On Thursday, 22 October 2015 at 15:09:19 UTC, Jonathan M Davis 
wrote:
 On Thursday, 22 October 2015 at 14:39:14 UTC, Rikki Cattermole 
 wrote:
 On 23/10/15 3:13 AM, Jack Stouffer wrote:
 [...]
And yet projects like dlangui keep on dying. Obviously something is not right with how they are.
Projects typically die because they don't have enough people involved (frequently only one) and those who are involved no longer have the time and/or interest. Maybe the color stuff belongs in Phobos. Maybe not. But IMHO, concerns about 3rd party projects dying off is _not_ a good reason to put something in the standard library. I don't think that we want large amounts of code being thrown into Phobos on the theory that the Phobos devs will maintain it and whoever wrote it can stop caring. - Jonathan M Davis
I'd say that projects die becaus they don't have users/traction. This is very discouraging to the author as he looses faith that the project makes sense in the first place
Oct 22 2015
parent Jack Stouffer <jack jackstouffer.com> writes:
On Thursday, 22 October 2015 at 15:11:35 UTC, Szymon Gatner wrote:
 looses faith that the project makes sense in the first place
And that's the main point right there: does an image and/or windowing library written in D make any sense? In a world where the C++ interlope wasn't going anywhere, I would say maybe, but that's not the case. With ddmd the C++ interlope has improved a great deal (so I'm told), and this document lays out that it should improve even farther. So, why not have the push to have a working Qt binding by the middle of next year rather than redo all of the work that that team has done in D?
Oct 22 2015
prev sibling next sibling parent "H. S. Teoh via Digitalmars-d" <digitalmars-d puremagic.com> writes:
On Thu, Oct 22, 2015 at 03:09:16PM +0000, Jonathan M Davis via Digitalmars-d
wrote:
 On Thursday, 22 October 2015 at 14:39:14 UTC, Rikki Cattermole wrote:
On 23/10/15 3:13 AM, Jack Stouffer wrote:
On Thursday, 22 October 2015 at 09:49:30 UTC, Jonathan M Davis wrote:
Has anyone come up with a proposal for review for possible Phobos
inclusion? That's usually the holdup on that sort of thing, not a
vision document.

- Jonathan M Davis
https://github.com/D-Programming-Language/phobos/pull/2845 Though I don't understand why this needs to be in Phobos so badly when having it as a dub package would make more sense. Same goes for an imaging library.
And yet projects like dlangui keep on dying. Obviously something is not right with how they are.
Projects typically die because they don't have enough people involved (frequently only one) and those who are involved no longer have the time and/or interest.
[...] Yeah, just because we put something in Phobos, doesn't mean it will get maintained. It may get some perfunctory updates just to keep the autotester happy, but that's hardly proper *maintenance*. The real problem is that said projects need dedicated maintainers, otherwise no matter where you put it, it will bitrot and eventually die. T -- Never wrestle a pig. You both get covered in mud, and the pig likes it.
Oct 22 2015
prev sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 10/22/2015 11:09 AM, Jonathan M Davis wrote:
 Maybe the color stuff belongs in Phobos. Maybe not. But IMHO, concerns
 about 3rd party projects dying off is _not_ a good reason to put
 something in the standard library. I don't think that we want large
 amounts of code being thrown into Phobos on the theory that the Phobos
 devs will maintain it and whoever wrote it can stop caring.
Wise words. -- Andrei
Oct 25 2015
prev sibling next sibling parent bitwise <bitwise.pvt gmail.com> writes:
On Wednesday, 21 October 2015 at 20:50:29 UTC, Andrei 
Alexandrescu wrote:
 Better late than later.

 http://wiki.dlang.org/Vision/2015H2_(draft)

 Destroy. After we make this good I'll rename it and make it 
 official.


 Andrei
I guess it was wishful thinking to see DIP74 on there ;) Really looking forward to more docs on extern(C++). I'm curious to see what the backend will look like in D as well..and I'm hoping that DMD will be all D at some point. AFAIK, there isn't an IDE that can easily navigate between C++/D source, which makes exploring/learning DMD's code very difficult for noobs such as myself. Thanks, Bit
Oct 21 2015
prev sibling next sibling parent Adrian Matoga <epi atari8.info> writes:
On Wednesday, 21 October 2015 at 20:50:29 UTC, Andrei 
Alexandrescu wrote:
 Better late than later.

 http://wiki.dlang.org/Vision/2015H2_(draft)

 Destroy. After we make this good I'll rename it and make it 
 official.


 Andrei
 Emphasize vibe.d
 No significant progress. There has been pushback regarding 
 merging vibe.d into the
 standard distribution.
IIRC the idea to package dub with DMD received a bit more favorable response, though. And having dub installed it's now just "dub init -t vibe.d" to actually use vibe.d as well.
Oct 21 2015
prev sibling next sibling parent Chris <wendlec tcd.ie> writes:
On Wednesday, 21 October 2015 at 20:50:29 UTC, Andrei 
Alexandrescu wrote:
 Better late than later.

 http://wiki.dlang.org/Vision/2015H2_(draft)

 Destroy. After we make this good I'll rename it and make it 
 official.


 Andrei
"DConf 2016 in Berlin is slated to be a larger event than before." I think so too, because users based in Europe can attend it too now. Not everybody in Europe is able or willing to fly to the USA for the conference. I think there are loads of D users in Europe, I know there are in Germany, Italy and the UK. "Smartphones (iPhone/Android) Alternative compilers already have some level of support for smartphones. That should continue in stride and be accompanied by the appropriate air support from the leadership and community." Yes, please! People keep asking "Will your software be available on the iPhone/Android?", and programmers ask, if they can develop for the iPhone/Android with D. Schools use tablets and iPads for teaching. Are improvements to the GC on the list too, or are yous happy with it for the time being?
Oct 22 2015
prev sibling next sibling parent reply Szymon Gatner <noemail gmail.com> writes:
On Wednesday, 21 October 2015 at 20:50:29 UTC, Andrei 
Alexandrescu wrote:
 Better late than later.

 http://wiki.dlang.org/Vision/2015H2_(draft)

 Destroy. After we make this good I'll rename it and make it 
 official.


 Andrei
"C++ integration Progress has been slow." At the moment, simplest integration presented in Adam Ruppe's book does not work on Windows (x64 or x86). I stopped dreaming about things like STL interop as for the last 4 releases just using polymorphic class between languages still isn't fixed.
Oct 22 2015
parent reply Adam D. Ruppe <destructionator gmail.com> writes:
On Thursday, 22 October 2015 at 13:26:37 UTC, Szymon Gatner wrote:
 At the moment, simplest integration presented in Adam Ruppe's 
 book does not work on Windows (x64 or x86).
Have you tried a C++ class without a virtual destructor too? That's the trickiest part in the first part of the book and maybe that is what broke recently. I haven't tried any of this for like a year now. The other part about mimicing with structs is a fragile thing anyway, I presented it because you can make it work, you're just on your own.
Oct 22 2015
parent Szymon Gatner <noemail gmail.com> writes:
On Thursday, 22 October 2015 at 14:07:17 UTC, Adam D. Ruppe wrote:
 On Thursday, 22 October 2015 at 13:26:37 UTC, Szymon Gatner 
 wrote:
 At the moment, simplest integration presented in Adam Ruppe's 
 book does not work on Windows (x64 or x86).
Have you tried a C++ class without a virtual destructor too? That's the trickiest part in the first part of the book and maybe that is what broke recently. I haven't tried any of this for like a year now. The other part about mimicing with structs is a fragile thing anyway, I presented it because you can make it work, you're just on your own.
No, I just tried your code verbatim (as I do with every new D release). Problem now is casting Animal down to Cat (in freeCat()) on the D side, casting results in null after pointer was passed to C++. I have no idea what is suppose to work in D/C++ interop as there is very little (or outdated) information on the subject.
Oct 22 2015
prev sibling next sibling parent NVolcz <niklas.volcz gmail.com> writes:
On Wednesday, 21 October 2015 at 20:50:29 UTC, Andrei 
Alexandrescu wrote:
 Better late than later.

 http://wiki.dlang.org/Vision/2015H2_(draft)

 Destroy. After we make this good I'll rename it and make it 
 official.


 Andrei
Would be cool if we could find ideas for the next GSoC that aligns with the vision. Improve smartphone support could be one.
Oct 22 2015
prev sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Many thanks to all who replied. I have integrated feedback and moved the 
page:

http://wiki.dlang.org/Vision/2015H2

(Of course it remains open for improvement.)

One note of importance: PR activity has not grown a lot in this half - 
we have 1037 pull requests as of end of Oct 24. Compare with 1054 for 
the same period in 2014 and with 1538 for the entire H2 2014.

Please accept my apologies for being ridiculously behind schedule. I 
knew since the beginning of 2015 it's going to be a weird year: new kid, 
moving across the country, new home, new job for my spouse, leaving 
Facebook, conference travels... things are only starting to unwind 
properly now. We should be able to find the time and focus to deliver 
the vision documents in a timely manner to keep the community engaged.


Andrei
Oct 25 2015