Top-3 for 2.066

Joseph Cassman jc7919 at outlook.com
Tue Feb 25 09:53:28 PST 2014


On Tuesday, 25 February 2014 at 05:01:30 UTC, Manu wrote:
> What are yours?

The stuff listed on the wiki agenda 
(http://wiki.dlang.org/Agenda) is nice and will definitely make 
the language cleaner. However for me there are two elephants in 
the room.

A major argument in favor of Go tends to be focused around its 
straightforward parallelism support. D's support is good but not 
yet as straightforward. I like ranges. But I would also like to 
be able to use yield (a la coroutines) + async/await (from .NET). 
Making this work seamlessly with std.parallelism and integrating 
it directly into the language (similar to how threads currently 
are) would really make D a slam dunk. Along with this, 
std.parallelism's performance could be improved to the point 
where there is no more concern about it being as fast as 
green-thread implementations in other languages.

Here are two recent threads that discuss this topic.

http://forum.dlang.org/thread/mailman.126.1390929933.13884.digitalmars-d@puremagic.com
http://forum.dlang.org/thread/teiustvtqwcvdmmmdbqo@forum.dlang.org

The second elephant is memory usage. Based on recent discussions 
on the possible use of ARC/scopebuffer/std.allocator/etc. it 
seems that soon Phobos will get some major assistance in this 
regard. Awesome. Really looking forward too to the GC 
improvements and integration of the up-and-coming allocator 
module.

Here are two threads talking about memory usage.

scopebuffer - 
http://forum.dlang.org/thread/ld2586$17f6$1@digitalmars.com
tracing api - 
http://forum.dlang.org/thread/l8lup8$2bgl$1@digitalmars.com

The following links are encouraging. They show Andrei's 
statements on the need to focus on memory allocation right now.

http://forum.dlang.org/thread/grngmshdtwqfaftefhky@forum.dlang.org?page=11#post-lclta7:241rdg:241:40digitalmars.com
http://forum.dlang.org/thread/grngmshdtwqfaftefhky@forum.dlang.org?page=14#post-lcoskl:241g8t:241:40digitalmars.com

> I think of the following foci for the first half of 2014:
> 
> 1. Add @nullable and provide a -nullable compiler flag to 
> verify it. The attribute is inferred locally and for white-box 
> functions (lambdas, templates), and required as annotation 
> otherwise. References not annotated with @nullable are 
> statically enforced to never be null.
> 
> 2. Work on Phobos to see what can be done about avoiding 
> unnecessary allocation. Most likely we'll need to also add a 
> @nogc flag.
> 
> 3. Work on adding tracing capabilities to allocators and see 
> how to integrate them with the language and Phobos.
> 
> 4. Work on the core language and druntime to see how to 
> seamlessly accommodate alternate GC mechanisms such as 
> reference counting.
> 
> 
> Andrei

These are the two big things that I am hoping will get some 
attention.

Thanks

Joseph



More information about the Digitalmars-d mailing list