Vision for the first semester of 2016

maik klein via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Mon Jan 25 06:15:18 PST 2016


On Monday, 25 January 2016 at 13:08:18 UTC, Rory McGuire wrote:
> On Mon, Jan 25, 2016 at 2:46 PM, Andrei Alexandrescu via 
> Digitalmars-d-announce <digitalmars-d-announce at puremagic.com> 
> wrote:
>
>> On 01/25/2016 04:17 AM, Rory McGuire via 
>> Digitalmars-d-announce wrote:
>>
>>>
>>> Looking at the way we have things now, it would actually be 
>>> quite simple to make two downloads, one with everything and 
>>> one with the bare minimum.
>>>
>>> If we changed phobos to compile like the recent vibe.d 
>>> version does then we can even pick and choose sections of 
>>> phobos. I suppose "he who has the vision" can do either type 
>>> of release with our current tools.
>>>
>>
>> What would be the benefits of this? My knee-jerk reaction is 
>> this is a large and disruptive project with no palpable 
>> benefits. -- Andrei
>>
>>
> Yep, thats kind of what I was saying in the end. If someone 
> wanted to they could make such a release independently.
>
> I'm trying to hack on the compiler, personally I wish all those 
> with the know how would put their efforts into documenting how 
> the compiler works and what the different parts do, that way we 
> could have more contributors.

+1 On lifetime management and tooling. I would like to see a lot 
of improvements for DCD also tools for refactoring would also be 
extremely useful.

As for splitting up everything into small packages, I don't think 
D is there yet. I am still new but I already found several 
libraries that I wanted to use that not follow the "official" D 
Style guide.

I would not want to include N different libraries that use N 
different coding styles. Look at Rust for example, you will find 
that pretty much every library uses the "official" style guide.

I think that is because it is mostly "enforced" by the compiler 
as a warning.

I really don't care how I write my code, but I care deeply about 
consistency.

Another point is that I couldn't find any metaprogramming library 
for D yet. Yes there is std.meta but it is extremely lacking, 
this is quite obvious if you look into the std.

For example in "zip"

return mixin (q{ElementType(%(.moveAt(ranges[%s], n)%|, 
%))}.format(iota(0, R.length)));

This could be easily expressed as a general metafunction. Also 
std.meta mostly focusses on compile time stuff but I don't think 
there is anything for a "Tuple".

Some inspiration could be found here 
https://github.com/boostorg/hana




More information about the Digitalmars-d-announce mailing list