digitalmars.D - Vision
- Andrei Alexandrescu (4/4) Oct 21 2015 Better late than later.
- ponce (4/9) Oct 21 2015 Somehow the link isn't recognized by DFeed.
- qznc (16/20) Oct 21 2015 I'd again raise the issue of an official blog/news channel.
- Andrei Alexandrescu (2/19) Oct 21 2015 TWiD is an official newsletter. -- Andrei
- Vladimir Panteleev (6/7) Oct 21 2015 For being an official newsletter, it doesn't get the exposure it
- Adam D. Ruppe (4/6) Oct 21 2015 Part of that is my fault btw, I just never actually got to
- Andrei Alexandrescu (3/8) Oct 25 2015 Looks fantastic and Adam sent me word it increased traffic considerably
- Laeeth Isharc (7/12) Oct 21 2015 C++ integration - documentation. You can do more than described
- Laeeth Isharc (23/28) Oct 21 2015 Smartphones+portable devices - since the set of people reading
- Jacob Carlborg (6/7) Oct 22 2015 The initial support for Objective-C will be available in the upcoming
- Laeeth Isharc (5/10) Oct 22 2015 Should this not be mentioned in the document ? If so, care to
- Jacob Carlborg (7/10) Oct 23 2015 It's available in the changelog [1] which links to the full
- Steven Schveighoffer (9/17) Oct 23 2015 As an objective C developer on iOS, I am curious if you have done any
- Kagamin (25/29) Oct 23 2015 A little of massage and you get:
- Steven Schveighoffer (5/33) Oct 23 2015 I think this would look better as the official example!
- Jacob Carlborg (13/16) Oct 23 2015 No. In the (Objective-)C header files "objc_lookUpClass" returns
- Jacob Carlborg (47/70) Oct 23 2015 In theory this could work:
- Jacob Carlborg (29/36) Oct 23 2015 No :). But I have done some development even without this, i.e. only
- Jacob Carlborg (11/12) Oct 24 2015 I don't think that "id" is particular interesting. Apple is moving away
- Adam D. Ruppe (4/7) Oct 23 2015 Is it your hope to get the operating system bindings into
- Jacob Carlborg (4/7) Oct 23 2015 If automatically generated bindings are allowed, sure. Otherwise, no.
- Adam D. Ruppe (3/5) Oct 23 2015 We just recently got it in for Windows, pretty well auto
- Jacob Carlborg (5/7) Oct 24 2015 Oh, I didn't know it was the automatically generated. My concern are
- Jonathan M Davis (8/15) Oct 24 2015 The concern expressed by Sean in that thread would not apply to
- Laeeth Isharc (3/14) Oct 23 2015 I read it quickly so may have missed, but I meant in the vision
- Jacob Carlborg (7/8) Oct 24 2015 Oh, no I understand :). I guess it's not part of the vision. You have to...
- Guillaume Chatelet (12/17) Oct 21 2015 For C++ vector and string I have a pull request available but it
- Andrei Alexandrescu (2/5) Oct 21 2015 Also, exceptions. -- Andrei
- Guillaume Chatelet (5/12) Oct 22 2015 Yes you're right, that said having C++ work without exceptions
- John Colvin (12/31) Oct 21 2015 std.experimental.allocator is the big news here, no?
- Jack Stouffer (5/7) Oct 21 2015 And the reason why (separate docs) is precisely why ddoc was made.
- Jack Stouffer (5/10) Oct 21 2015 It has been mentioned many times by the leadership, so can you
- Brian Schott (4/18) Oct 21 2015 dfmt not being there is mostly my fault. I'll try to get 0.4.1
- rsw0x (26/36) Oct 21 2015 language-level smart pointers would be a good start. Library
- Rikki Cattermole (4/8) Oct 21 2015 Can we add priority for color library for Phobos?
- Jonathan M Davis (6/19) Oct 22 2015 Has anyone come up with a proposal for review for possible Phobos
- Rikki Cattermole (3/21) Oct 22 2015 Manu's work is more or less complete at this stage.
- Manu via Digitalmars-d (7/35) Oct 22 2015 Well, I wouldn't call it complete, but the base could be merged into
- Andrei Alexandrescu (2/5) Oct 23 2015 The short answer is it's a judgment call. -- Andrei
- Jack Stouffer (6/10) Oct 22 2015 https://github.com/D-Programming-Language/phobos/pull/2845
- Rikki Cattermole (3/13) Oct 22 2015 And yet projects like dlangui keep on dying.
- Jonathan M Davis (12/32) Oct 22 2015 Projects typically die because they don't have enough people
- Szymon Gatner (5/22) Oct 22 2015 I'd say that projects die becaus they don't have users/traction.
- Jack Stouffer (9/10) Oct 22 2015 And that's the main point right there: does an image and/or
- H. S. Teoh via Digitalmars-d (10/31) Oct 22 2015 [...]
- Andrei Alexandrescu (2/7) Oct 25 2015 Wise words. -- Andrei
- bitwise (11/16) Oct 21 2015 I guess it was wishful thinking to see DIP74 on there ;)
- Adrian Matoga (5/14) Oct 21 2015 IIRC the idea to package dub with DMD received a bit more
- Chris (17/22) Oct 22 2015 "DConf 2016 in Berlin is slated to be a larger event than before."
- Szymon Gatner (8/13) Oct 22 2015 "C++ integration
- Adam D. Ruppe (8/10) Oct 22 2015 Have you tried a C++ class without a virtual destructor too?
- Szymon Gatner (7/18) Oct 22 2015 No, I just tried your code verbatim (as I do with every new D
- NVolcz (5/10) Oct 22 2015 Would be cool if we could find ideas for the next GSoC that
- Andrei Alexandrescu (14/14) Oct 25 2015 Many thanks to all who replied. I have integrated feedback and moved the...
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
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. AndreiSomehow the link isn't recognized by DFeed. Let me try with http://wiki.dlang.org/Vision/2015H2_(draft%29
Oct 21 2015
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
On 10/21/2015 05:10 PM, qznc wrote:On Wednesday, 21 October 2015 at 20:50:29 UTC, Andrei Alexandrescu wrote:TWiD is an official newsletter. -- AndreiBetter 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
On Wednesday, 21 October 2015 at 22:35:35 UTC, Andrei Alexandrescu wrote:TWiD is an official newsletter. -- AndreiFor 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
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
On 10/21/2015 10:17 PM, Vladimir Panteleev wrote:On Wednesday, 21 October 2015 at 22:35:35 UTC, Andrei Alexandrescu wrote:Looks fantastic and Adam sent me word it increased traffic considerably - good job! -- AndreiTWiD is an official newsletter. -- AndreiFor 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 25 2015
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. AndreiC++ 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
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. AndreiSmartphones+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
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
On Thursday, 22 October 2015 at 19:43:04 UTC, Jacob Carlborg wrote:On 2015-10-21 23:49, 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.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
Oct 22 2015
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
On 10/23/15 7:06 AM, Jacob Carlborg wrote:On 2015-10-22 21:47, Laeeth Isharc wrote: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? -SteveShould 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
Oct 23 2015
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
On 10/23/15 11:53 AM, Kagamin wrote:On Friday, 23 October 2015 at 12:44:03 UTC, Steven Schveighoffer wrote: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*? -SteveThe 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
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
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
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
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
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
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
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
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
On Saturday, 24 October 2015 at 09:14:40 UTC, Jacob Carlborg wrote:On 2015-10-24 01:23, Adam D. Ruppe wrote: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 DavisWe 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
Oct 24 2015
On Friday, 23 October 2015 at 11:06:07 UTC, Jacob Carlborg wrote:On 2015-10-22 21:47, Laeeth Isharc wrote:I read it quickly so may have missed, but I meant in the vision document ;)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
Oct 23 2015
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
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. AndreiFor 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
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
On Wednesday, 21 October 2015 at 22:36:46 UTC, Andrei Alexandrescu wrote:On 10/21/2015 05:50 PM, Guillaume Chatelet wrote: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.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 22 2015
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. AndreiMemory 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
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
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. AndreiIt 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
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: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.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. AndreiIt 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
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. AndreiMemory 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
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. AndreiCan 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
On Thursday, 22 October 2015 at 01:50:08 UTC, Rikki Cattermole wrote:On 22/10/15 9:50 AM, Andrei Alexandrescu 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 DavisBetter late than later. http://wiki.dlang.org/Vision/2015H2_(draft) Destroy. After we make this good I'll rename it and make it official. AndreiCan 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 22 2015
On 22/10/15 10:49 PM, Jonathan M Davis wrote:On Thursday, 22 October 2015 at 01:50:08 UTC, Rikki Cattermole wrote: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 :)On 22/10/15 9:50 AM, Andrei Alexandrescu 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 DavisBetter late than later. http://wiki.dlang.org/Vision/2015H2_(draft) Destroy. After we make this good I'll rename it and make it official. AndreiCan 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 22 2015
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: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)?On Thursday, 22 October 2015 at 01:50:08 UTC, Rikki Cattermole wrote: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 :)On 22/10/15 9:50 AM, Andrei Alexandrescu 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 DavisBetter late than later. http://wiki.dlang.org/Vision/2015H2_(draft) Destroy. After we make this good I'll rename it and make it official. AndreiCan 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 22 2015
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
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 Davishttps://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
On 23/10/15 3:13 AM, Jack Stouffer wrote:On Thursday, 22 October 2015 at 09:49:30 UTC, Jonathan M Davis wrote:And yet projects like dlangui keep on dying. Obviously something is not right with how they are.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 Davishttps://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
On Thursday, 22 October 2015 at 14:39:14 UTC, Rikki Cattermole wrote:On 23/10/15 3:13 AM, Jack Stouffer wrote: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 DavisOn Thursday, 22 October 2015 at 09:49:30 UTC, Jonathan M Davis wrote:And yet projects like dlangui keep on dying. Obviously something is not right with how they are.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 Davishttps://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
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: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 placeOn 23/10/15 3:13 AM, Jack Stouffer wrote: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[...]And yet projects like dlangui keep on dying. Obviously something is not right with how they are.
Oct 22 2015
On Thursday, 22 October 2015 at 15:11:35 UTC, Szymon Gatner wrote:looses faith that the project makes sense in the first placeAnd 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
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:[...] 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.On 23/10/15 3:13 AM, Jack Stouffer wrote: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.On Thursday, 22 October 2015 at 09:49:30 UTC, Jonathan M Davis wrote:And yet projects like dlangui keep on dying. Obviously something is not right with how they are.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 Davishttps://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
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
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. AndreiI 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
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. AndreiEmphasize 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
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
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
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
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: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.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
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. AndreiWould 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
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